Come fermare Fetchmail contrassegnando i messaggi come letti


9

Quando fetchmailcontrolla la mia casella di posta IMAP, scarica tutti i messaggi non letti e rimuove il flag "non letto" sul server di posta.

C'è un modo per fetchmailscaricare nuovi messaggi senza contrassegnarli come letti?

Uso procmailper elaborare automaticamente nuovi messaggi di posta elettronica ed eseguire script in base alle regole di posta, quindi desidero scaricare i messaggi, ma preferirei che il flag "Nuovo messaggio" fosse conservato su messaggi che non ho ancora letto nel mio client di posta elettronica.

Questo è il mio .fetchmailrcfile:

poll mail.domain.com protocol IMAP
    user "user@domain.com"
    password 'password'
    folder 'INBOX'
    keep
    ssl
    mda "/usr/bin/procmail -f %F"

Risposte:


7

Non sono riuscito a trovare un modo per preservare o reinstallare il flag "non letto" sul server.

Alla fine, sono passato all'utilizzo di getmail , un'alternativa più moderna a fetchmailquella scritta in Python. Diversamente fetchmail, getmailrecupera i messaggi in base all'ID messaggio del server anziché al flag "non letto" del messaggio.

Questo è il getmailfile di configurazione che ho creato che ha fornito l'equivalenza alla mia fetchmailconfigurazione:

# ~/.getmail/getmailrc
# Configuration file to retrieve messages over secure IMAP
# and send them to procmail

[retriever]
type=SimpleIMAPSSLRetriever
server=mail.domain.com
username=user@domain.com
password=password

[destination]
type=MDA_external
path=/usr/bin/procmail

[options]
verbose=0
read_all=false
delete=false
delete_after=0
delete_bigger_than=0
max_bytes_per_session=0
max_message_size=0
max_messages_per_session=0
delivered_to=false
received=false
message_log=~/getmail.log
message_log_syslog=false
message_log_verbose=true

-1

My fetchmail(1)cites flags -k, --keepe opzione keepper non scaricare i messaggi.

fetchmail-6.3.22-1.fc18.x86_64, Fedora 18.


4
No, il keepflag serve a impedire a fetchmail di eliminare il messaggio dal server una volta scaricato. In effetti, sto usando la keepbandiera, poiché voglio mantenere i messaggi sul server. Vorrei solo trovare un modo per mantenere anche la bandiera "Nuovo messaggio".
Steve HHH,

E come farà fetchmail (o chiunque altro) a sapere che ha già ricevuto il messaggio?
vonbrand

Tenendo traccia dell'ID del messaggio sul server, farebbe lo stesso di un client di posta elettronica. Ad esempio, spero che fetchmail sappia che ha scaricato l'ultimo ID messaggio 394, quindi se la prossima volta trova il messaggio 400, dovrebbe scaricare i messaggi 395-400, indipendentemente dal loro stato di flag "non letto". Il download di nuovi messaggi basati solo sullo stato del flag "non letto" sarebbe deludentemente semplicistico per uno strumento con una tale reputazione come fetchmail.
Steve HHH,

Tenere traccia dei messaggi letti / non letti è esattamente ciò per cui viene utilizzato il flag letto / non letto sul messaggio ...
vonbrand

Infatti. E mi piacerebbe usare quella bandiera se possibile, così posso tenere traccia dei messaggi che ho letto. Il problema è che non posso più farlo perché fetchmail contrassegna tutti i miei messaggi come letti. Quindi quello che mi piacerebbe poter fare è avere fetchmail 'leggere' la mia posta senza contrassegnare i messaggi come letti. Prendiamo ad esempio il mio telefono e i miei client di posta elettronica desktop. Entrambi "leggono" i miei messaggi e possono effettivamente applicare le regole di posta, ma nessuno dei due contrassegna i messaggi come letti fino a quando non li ho visualizzati.
Steve HHH,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.