Cómo detener Fetchmail marcando mensajes como leídos

9

Cuando fetchmailrevisa mi bandeja de entrada IMAP, descarga todos los mensajes no leídos y elimina el indicador de mensaje 'no leído' en el servidor de correo.

¿Hay alguna manera de fetchmaildescargar nuevos mensajes sin marcarlos como leídos?

Utilizo procmailpara procesar automáticamente nuevos mensajes de correo y ejecutar scripts basados ​​en las reglas de correo, por lo que quiero que se descarguen los mensajes, pero preferiría que el indicador de "mensaje nuevo" se conservara en los mensajes que aún no he leído en mi cliente de correo electrónico.

Este es mi .fetchmailrcarchivo:

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

Respuestas:

7

No pude encontrar una manera de preservar o reinstalar el indicador 'no leído' en el servidor.

Al final, cambié a usar getmail , una alternativa más moderna a la fetchmailque está escrita en Python. A diferencia fetchmail, getmailrecupera los mensajes en función de la identificación del mensaje del servidor en lugar del indicador de mensaje "no leído".

Este es el getmailarchivo de configuración que creé que proporcionó equivalencia a mi fetchmailconfiguración:

# ~/.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
fuente
-1

Mi fetchmail(1)cita banderas -k, --keepy la opción keepde no descargar los mensajes.

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

vonbrand
fuente
44
No, la keepbandera es para evitar que fetchmail borre el mensaje desde el servidor una vez que se ha descargado. De hecho, estoy usando la keepbandera, ya que quiero mantener los mensajes en el servidor. Solo me gustaría encontrar una manera de mantener la bandera "Nuevo mensaje" también
Steve HHH
¿Y cómo fetchmail (o cualquier otra persona) sabrá que ya recibió el mensaje?
vonbrand
Al realizar un seguimiento de la identificación del mensaje en el servidor, lo mismo que haría un cliente de correo electrónico. Por ejemplo, espero que fetchmail sepa que descargó por última vez la identificación del mensaje 394, por lo que si la próxima vez que encuentre hasta el mensaje 400, debería descargar los mensajes 395-400, independientemente de su estado de indicador 'no leído'. La descarga de nuevos mensajes basados ​​únicamente en el estado de la bandera 'no leída' sería decepcionantemente simplista para una herramienta con una reputación como fetchmail.
Steve HHH
Para realizar un seguimiento de los mensajes leídos / no leídos es precisamente para lo que se utiliza el indicador de lectura / no leído en el mensaje ...
vonbrand
En efecto. Y me gustaría usar esa bandera si es posible, para poder hacer un seguimiento de los mensajes que he leído. El problema es que ya no puedo hacer eso porque fetchmail marca todos mis mensajes como leídos. Entonces, lo que me encantaría poder hacer es que fetchmail 'lea' mi correo sin marcar los mensajes como leídos. Tomemos, por ejemplo, mi teléfono y mis clientes de correo electrónico de escritorio. Ambos 'leen' mis mensajes y, de hecho, pueden aplicar reglas de correo, pero ninguno de ellos marca los mensajes como leídos hasta que los he visto.
Steve HHH