Cách dừng Fetchmail đánh dấu tin nhắn là đã đọc


9

Khi fetchmailkiểm tra hộp thư đến IMAP của tôi, nó sẽ tải xuống mọi thư chưa đọc và xóa cờ 'chưa đọc' trên máy chủ thư.

Có cách nào để fetchmailtải xuống tin nhắn mới mà không đánh dấu chúng là đã đọc không?

Tôi sử dụng procmailđể tự động xử lý thư mới và chạy tập lệnh dựa trên quy tắc thư, vì vậy tôi muốn thư được tải xuống, nhưng sẽ thích hơn nếu cờ "thư mới" được lưu trên thư tôi chưa đọc trong ứng dụng email khách.

Đây là .fetchmailrctập tin của tôi :

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

Câu trả lời:


7

Tôi không thể tìm cách bảo tồn hoặc kích hoạt lại cờ 'chưa đọc' trên máy chủ.

Cuối cùng, tôi chuyển sang sử dụng getmail , một cách thay thế hiện đại hơn so với fetchmailviết bằng Python. Không giống như fetchmail, getmailtruy xuất thư dựa trên id tin nhắn của máy chủ thay vì cờ 'chưa đọc' tin nhắn.

Đây là getmailtệp cấu hình tôi đã tạo cung cấp tương đương với fetchmailcấu hình của tôi :

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

Tôi fetchmail(1)trích dẫn cờ -k, --keepvà tùy chọn keepđể không tải các thông điệp.

tìm nạp-6.3.22-1.fc18.x86_64, Fedora 18.


4
Không, keepcờ là để ngăn chặn fetchmail xóa tin nhắn từ máy chủ khi nó đã được tải xuống. Thật vậy, tôi đang sử dụng keepcờ, vì tôi muốn giữ các tin nhắn trên máy chủ. Tôi cũng muốn tìm cách giữ cờ "Tin nhắn mới".
Steve HHH

Và làm thế nào để fetchmail (hoặc bất kỳ ai khác) biết rằng nó đã nhận được tin nhắn?
vonbrand

Bằng cách theo dõi id tin nhắn trên máy chủ, giống như ứng dụng email khách sẽ làm. Ví dụ, tôi hy vọng rằng fetchmail sẽ biết rằng nó đã tải xuống tin nhắn id 394 lần cuối, vì vậy nếu lần sau nó tìm thấy tin nhắn 400, thì nó nên tải xuống tin nhắn 395-400, bất kể trạng thái cờ 'chưa đọc' của chúng. Tải xuống các tin nhắn mới chỉ dựa trên trạng thái của cờ 'chưa đọc' sẽ đơn giản một cách đáng thất vọng đối với một công cụ có tiếng như fetchmail.
Steve HHH

Để theo dõi các tin nhắn đã đọc / chưa đọc chính xác là những gì cờ đọc / chưa đọc trên tin nhắn được sử dụng cho ...
vonbrand

Thật. Và tôi muốn sử dụng cờ đó nếu có thể, vì vậy tôi có thể theo dõi các tin nhắn mà tôi đã đọc. Vấn đề là tôi không thể làm điều đó nữa vì fetchmail đánh dấu tất cả các tin nhắn của tôi là đã đọc. Vì vậy, những gì tôi muốn có thể làm là tìm nạp 'đọc' thư của tôi mà không đánh dấu thư là đã đọc. Lấy ví dụ, điện thoại của tôi và máy khách email máy tính để bàn của tôi. Cả hai đều 'đọc' tin nhắn của tôi và thực sự có thể áp dụng quy tắc thư, nhưng cả hai đều không đánh dấu thư là đã đọc cho đến khi tôi xem chúng.
Steve HHH
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.