Walt Mankowski via plug on 13 Jun 2023 05:43:42 -0700 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [PLUG] "Online only" terminal IMAP client? |
On Tue, Jun 13, 2023 at 06:24:10AM -0400, N. Albert via plug wrote: > On 6/13/2023 12:52 AM, Alan D. Salewski via plug wrote: > > Hi Albert, > > > > On Mon, Jun 12, 2023, at 21:12, N. Albert via plug wrote: > > > I'm thinking it might be difficult to get an answer to this anywhere, > > > but I figured this would probably be the place to ask since I'm sure > > > some of you use terminal mail readers. > > > > > > Does anyone here know of any console mail clients (IMAP/SMTP) for Linux > > > that can operate *fully online*? > > This is not an ideal answer to you question, > Thanks for the insight! I was thinking there might not be an ideal answer > anyways, so tips on how to kludge an existing client to work here are > helpful nonetheless. > > but I think mutt could > > be made to run in that mode. It would require pointing $folder, > > $mailboxes, $record, $smtp_url, $spoolfile, and maybe some other > > settings at remote relocations. E.g., > > > > set spoolfile = 'imaps://user@example.com@imap.gmail.com:993/INBOX' > > > > set smtp_url = 'smtp://user@example.com@smtp.gmail.com:587' > > > > ... > > > > It would also require avoiding use of the 'header_cache' and > > 'message_cachedir', which would make IMAP usage on large mailboxes > > (thousands of messages) feel sluggish or downright slow. > > This could be of concern... Is this due to an inherent limitation in how > Mutt is designed? A proper IMAP client should still be very fast with the > cache disabled, since all it needs to do is query the server for everything > (assuming messages aren't insanely large, of course). If the source is > written to assume an offline cache though and it does roundabout things that > could get interesting though. What types of operations are those that might > slow down? If it's just, e.g. SEARCH, for example, if it's hardcoded to > search locally rather than using IMAP SEARCH, maybe that's reasonable, but > if simply paging through a message listing will be slow, that could be an > issue, since in an online client, that should be a constant speed operation, > regardless of how large the mailbox is. You can certainly run without it, but header_cache in particular is a big time saver. Every time you go in a folder, most mail clients will show you all the messages in the folder. If there are 1000s of messages, it will have to download them all every time. > > > By this, I mean a client that does not (or can be configured to not) > > > store anything locally while running, or modify the file system in any > > > way. > > To prevent modifying the file system in any way would (I think) > > require running Mutt in an isolated environment (chroot?) on a > > read-only file system. > Upon further thought, I could run it in a separate namespace (chroot-like > environment) to mitigate this (and should anyways). That doesn't address > everything but it lessens the requirements somewhat. I'm pretty rusty at it these days, but I wonder if you could accomplish a lot of what you're trying to do by running mutt inside Docker? > > Mutt allows the user to run arbitrary shell > > commands, so that would need to be taken into account. > I'll have to see if this can be disabled in any way, or see if I can modify > it to not permit that. > I did stumble across something called "neomutt" recently which is in active > development (seems to just be mutt with more features), so maybe that would > be the right place to try to make this configurable. There's also mutt-users and mutt-dev mailing lists [1] which might be better places to ask questions about mutt's internals. Walt 1. http://www.mutt.org/mail-lists.html ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug