Cara menghentikan Fetchmail menandai pesan sebagai sudah dibaca

9

Ketika fetchmailmemeriksa kotak masuk IMAP saya, ia mengunduh pesan yang belum dibaca dan menghapus tanda pesan 'belum dibaca' di server email.

Apakah ada cara untuk fetchmailmengunduh pesan baru tanpa menandainya sebagai sudah dibaca?

Saya menggunakan procmailuntuk secara otomatis memproses pesan email baru dan menjalankan skrip berdasarkan aturan surat, jadi saya ingin pesan diunduh, tetapi akan lebih suka jika bendera "pesan baru" dipertahankan pada pesan yang belum saya baca di klien email saya.

Ini .fetchmailrcfile saya :

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

Jawaban:

7

Saya tidak dapat menemukan cara untuk melestarikan atau menginstal kembali flag 'belum dibaca' di server.

Pada akhirnya, saya beralih menggunakan getmail , alternatif yang lebih modern daripada fetchmailyang ditulis dengan Python. Tidak seperti fetchmail, getmailmengambil pesan berdasarkan id pesan server alih-alih tanda pesan 'belum dibaca'.

Ini adalah getmailfile konfigurasi yang saya buat yang memberikan persamaan dengan fetchmailkonfigurasi saya :

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

Saya fetchmail(1)mengutip bendera -k,, --keepdan opsi keepuntuk tidak mengunduh pesan.

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

vonbrand
sumber
4
Tidak, keepbenderanya adalah untuk mencegah fetchmail menghapus pesan dari server setelah diunduh. Memang, saya menggunakan keepbendera, karena saya ingin menyimpan pesan di server. Saya hanya ingin menemukan cara untuk menjaga bendera "Pesan baru" juga.
Steve HHH
Dan bagaimana fetchmail (atau orang lain) tahu bahwa ia sudah menerima pesan?
vonbrand
Dengan melacak id pesan di server, sama seperti yang dilakukan klien email. Sebagai contoh, saya berharap bahwa fetchmail akan tahu bahwa pesan terakhir diunduh id 394, jadi jika kali berikutnya menemukan hingga pesan 400, ia harus mengunduh pesan 395-400, terlepas dari status bendera 'belum dibaca'. Mengunduh pesan baru hanya berdasarkan status bendera 'belum dibaca' akan sangat menyederhanakan alat yang memiliki reputasi seperti fetchmail.
Steve HHH
Untuk melacak pesan yang sudah dibaca / belum dibaca, tepatnya digunakan tanda apa yang dibaca / belum dibaca pada pesan ...
vonbrand
Memang. Dan saya ingin menggunakan bendera itu jika memungkinkan, sehingga saya dapat melacak pesan yang telah saya baca. Masalahnya adalah saya tidak bisa lagi melakukannya karena fetchmail menandai semua pesan saya sebagai sudah dibaca. Jadi yang ingin saya lakukan adalah meminta fetchmail 'membaca' email saya tanpa menandai pesan sebagai sudah dibaca. Ambil contoh, telepon saya dan klien email desktop saya. Mereka berdua 'membaca' pesan saya, dan memang dapat menerapkan aturan surat, tetapi tidak satu pun dari mereka menandai pesan sebagai sudah dibaca sampai saya melihatnya.
Steve HHH