0

Mails from my account are fetched using the POP3 protocol using the mutt email client.

Will it is desired that mutt downloads the (new) mails (for having them available offline), those mails shall not be deleted from the mailserver, for the simple reason that I fetch my mail using two different machines and having it downloaded and then deleted makes it impossible to have all mails available on all machines.

The trouble to the configuration, and the core of the question is the following. Telling mutt to not delete the mails from the server after the download, currently leads to duplicates and increasingly long duplicate download of the mails.

Is there a way to configure mutt, so as to keep mails stored on the server, but not to download those mails again which exists already form previous mail fetches?

I remember that other email clients, could perform such a task making me think it is not an inherent limitation of the POP3 protocol.

  • Consider switching to imap. I don't know about mutt, but fetchmail has the pop3 option keep which doesn't remove the mails from the server. – Panki Oct 8 '19 at 7:17
  • @Panki thanks for your suggestion. I would hope that pop3 yet provides this functionality (as I remember to have experienced in the past using other mail clients). Anyway I know that pop3 can keep emails, as mutt itself offers not to delete the mails. The problem and question is rather to make mutt not re-download all the keept emails again and again ...... – humanityANDpeace Oct 8 '19 at 7:29
1

POP3 isn’t ideally suited for this kind of usage, IMAP would be much better. However, if your POP3 server supported the necessary commands, Mutt can be configured to keep mail on the server and only download new messages:

unset pop_delete

will tell Mutt to keep messages on the server, and

set pop_last

will tell Mutt to use the LAST POP3 command to only retrieve unaccessed messages from the server. (See RFC 1460 for details of the LAST command, which was deemed hard to implement correctly and removed from subsequent POP3 RFCs.)

  • Indeed having tried those settings, the desired result was achieved, thanks! Maybe it would be a helpful to clarify what this "retrieve unread messages from the server means". It seems it is messages that have not been fetched yet (which is the desired effect) and not messages that have not been marked as read (since marking messages as read seems to be something some mailservers keep track of. Many thanks, for the quick help, working answer :) – humanityANDpeace Oct 8 '19 at 9:47
  • With -now- prior knowledge about the pop_last setting, I look through the ~4000 lines of man muttrc and it states there "pop_last: If this variable is set, mutt will try to use the “LAST” POP command for retrieving only unread messages from the POP server when using the <fetch-mail> function.", so I assume my trouble with the term "unread" is already derived from the man page :). I will look up the POP3 protocol spec on the LAST command, to verify that the observed behavior is indeed the one desired – humanityANDpeace Oct 8 '19 at 9:51
  • See my update; LAST was short-lived, but it is supposed to do the right thing here by only listing unaccessed messages. I suspect trouble will ensue if you use different clients to access your mailbox! POP3 also supports UIDL, which allows mail clients to separately track seen messages and only retrieve new messages, but I get the impression Mutt doesn’t support that. (Fetchmail, for example, can use UIDL.) – Stephen Kitt Oct 8 '19 at 10:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.