Як зупинити розмітку повідомлень Fetchmail як прочитаних


9

Коли fetchmailперевіряє мій IMAP поштову скриньку, він завантажує всі непрочитані повідомлення і видаляє прапор повідомлення «непрочитані» на поштовому сервері.

Чи є спосіб fetchmailзавантажити нові повідомлення, не позначаючи їх як прочитані?

Я використовую procmailдля автоматичної обробки нових поштових повідомлень та запуску сценаріїв на основі правил пошти, тому я хочу, щоб повідомлення завантажувались, але я вважаю за краще, якщо прапор "нового повідомлення" зберігався на повідомленнях, яких я ще не читав у своєму електронному поштовому клієнті.

Це мій .fetchmailrcфайл:

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

Відповіді:


7

Я не міг знайти спосіб зберегти або повторно встановити прапор "непрочитаного" на сервері.

Врешті-решт я перейшов до використання getmail , більш сучасної альтернативи тому, fetchmailщо написано в Python. На відміну від цього fetchmail, getmailвилучає повідомлення на основі ідентифікатора повідомлення сервера, а не прапор "непрочитаний".

Це getmailфайл конфігурації, який я створив, що дав еквівалент моїй fetchmailконфігурації:

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

Мої fetchmail(1)цитую прапори -k, --keepта можливість keepне завантажувати повідомлення.

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


4
Ні, keepпрапор - це запобігання видачі повідомлення з сервера після завантаження. Дійсно, я використовую keepпрапор, оскільки хочу зберігати повідомлення на сервері. Я просто хотів би знайти спосіб зберегти прапор "Нового повідомлення".
Стів HHH

І як fetchmail (або хтось інший) дізнається, що він вже отримав повідомлення?
фонбранд

Відстежуючи ідентифікатор повідомлення на сервері, те саме, що робив клієнт електронної пошти. Наприклад, я сподіваюся, що fetchmail буде знати, що він останнім часом завантажував ідентифікатор 394 повідомлення, тому якщо наступного разу він знайде повідомлення 400, він повинен завантажити повідомлення 395-400, незалежно від статусу "непрочитаного" прапора. Завантаження нових повідомлень, заснованих лише на статусі "непрочитаного" прапора, буде невтішно спрощеним для інструменту з такою репутацією, як fetchmail.
Стів HHH

Для відстеження прочитаних / непрочитаних повідомлень саме для цього використовується прапор читання / непрочитане повідомлення
vonbrand

Справді. І я хотів би використовувати цей прапор, якщо це можливо, щоб я міг відслідковувати прочитані повідомлення. Проблема в тому, що я більше не можу цього робити, тому що fetchmail позначає всі мої повідомлення як прочитані. Тож, що я хотів би зробити це, це отримати fetchmail "прочитати" мою пошту без позначення повідомлень як прочитаних. Візьмемо для прикладу мій телефон і мої настільні клієнти електронної пошти. Вони обидва «читають» мої повідомлення і дійсно можуть застосовувати правила пошти, але жодна з них не позначає повідомлення як прочитані, поки я їх не переглянув.
Стів HHH
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.