Como parar o Fetchmail de marcar mensagens como lidas

9

Quando fetchmailverifica minha caixa de entrada IMAP, ele baixa qualquer mensagem não lida e remove o sinalizador de mensagem 'não lida' no servidor de email.

Existe uma maneira de fetchmailbaixar novas mensagens sem marcá-las como lidas?

Utilizo procmailpara processar automaticamente novas mensagens de correio e executar scripts com base nas regras de correio, por isso desejo que as mensagens sejam baixadas, mas preferiria que o sinalizador "nova mensagem" fosse preservado nas mensagens que ainda não li no meu cliente de email.

Este é o meu .fetchmailrcarquivo:

poll mail.domain.com protocol IMAP
    user "[email protected]"
    password 'password'
    folder 'INBOX'
    keep
    ssl
    mda "/usr/bin/procmail -f %F"
Steve HHH
fonte

Respostas:

7

Não foi possível encontrar uma maneira de preservar ou reinstalar o sinalizador 'não lido' no servidor.

No final, mudei para o getmail , uma alternativa mais moderna à fetchmailescrita em Python. Ao contrário fetchmail, getmailrecupera mensagens com base no ID da mensagem do servidor e não no sinalizador de mensagem 'não lida'.

Este é o getmailarquivo de configuração que criei que forneceu equivalência à minha fetchmailconfiguração:

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

[retriever]
type=SimpleIMAPSSLRetriever
server=mail.domain.com
[email protected]
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
Steve HHH
fonte
-1

Meu fetchmail(1)cita bandeiras -k, --keepe opção keepde não baixar as mensagens.

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

vonbrand
fonte
4
Não, o keepsinalizador é para impedir que o fetchmail exclua a mensagem do servidor após o download. Na verdade, estou usando a keepbandeira, pois quero manter as mensagens no servidor. Gostaria de encontrar uma maneira de manter o sinalizador "Nova mensagem" também.
91113 Steve HHH # 03
E como o fetchmail (ou qualquer outra pessoa) saberá que já recebeu a mensagem?
vonbrand
Ao acompanhar o ID da mensagem no servidor, o mesmo que um cliente de email faria. Por exemplo, eu espero que o fetchmail saiba que o último ID da mensagem baixado 394, portanto, da próxima vez que encontrar a mensagem 400, deverá baixar as mensagens 395-400, independentemente do status de sinalizador 'não lidas'. O download de novas mensagens com base apenas no status do sinalizador 'não lido' seria decepcionantemente simplista para uma ferramenta com reputação como fetchmail.
9788 Steve Jobs
Para acompanhar as mensagens lidas / não lidas é precisamente o que o / a bandeira não lida leitura sobre a mensagem é usado para ...
vonbrand
De fato. E eu gostaria de usar esse sinalizador, se possível, para poder acompanhar as mensagens que li. O problema é que não posso mais fazer isso porque o fetchmail marca todas as minhas mensagens como lidas. Então, o que eu gostaria de poder fazer é que o fetchmail 'leia' meu e-mail sem marcar as mensagens como lidas. Tomemos, por exemplo, meu telefone e meus clientes de email da área de trabalho. Ambos 'leem' minhas mensagens e podem de fato aplicar regras de correio, mas nenhum deles marca as mensagens como lidas até que eu as tenha visualizado.
9788 Steve Jobs