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.