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 "user@domain.com"
    password 'password'
    folder 'INBOX'
    keep
    ssl
    mda "/usr/bin/procmail -f %F"

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
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

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.