วิธีหยุด 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ตั้งค่าสถานะคือการป้องกันไม่ให้ fetchmail ลบข้อความจากเซิร์ฟเวอร์เมื่อถูกดาวน์โหลดแล้ว อันที่จริงฉันกำลังใช้การkeepตั้งค่าสถานะตามที่ฉันต้องการเก็บข้อความบนเซิร์ฟเวอร์ ฉันแค่ต้องการหาวิธีที่จะทำให้การตั้งค่าสถานะ "ข้อความใหม่" เกินไป
Steve HHH

และ fetchmail (หรือใคร ๆ ) จะรู้ได้อย่างไรว่ามันมีข้อความอยู่แล้ว?
vonbrand

โดยการติดตาม id ข้อความบนเซิร์ฟเวอร์เช่นเดียวกับไคลเอนต์อีเมลจะทำ ตัวอย่างเช่นฉันหวังว่า fetchmail จะรู้ว่ามันเป็นข้อความดาวน์โหลดรหัสล่าสุด 394 ดังนั้นถ้าครั้งต่อไปที่พบข้อความมากถึง 400 มันควรดาวน์โหลดข้อความ 395-400 โดยไม่คำนึงถึงสถานะธง 'ยังไม่ได้อ่าน' การดาวน์โหลดข้อความใหม่ตามสถานะของการตั้งค่าสถานะ 'ยังไม่ได้อ่าน' นั้นน่าผิดหวังสำหรับเครื่องมือที่มีชื่อเสียงเช่น fetchmail
Steve HHH

การติดตามข้อความที่อ่าน / ยังไม่ได้อ่านเป็นสิ่งที่ใช้ในการอ่าน / ยังไม่ได้อ่านธงข้อความสำหรับ ...
vonbrand

จริง และฉันต้องการใช้การตั้งค่าสถานะนั้นถ้าเป็นไปได้ดังนั้นฉันสามารถติดตามข้อความที่ฉันอ่าน ปัญหาที่ฉันไม่สามารถทำได้อีกเพราะ fetchmail ทำเครื่องหมายข้อความทั้งหมดว่าอ่านแล้ว ดังนั้นสิ่งที่ฉันอยากทำคือ fetchmail 'อ่าน' อีเมลของฉันโดยไม่ทำเครื่องหมายข้อความว่าอ่านแล้ว ยกตัวอย่างเช่นโทรศัพท์และอีเมลไคลเอ็นต์เดสก์ท็อปของฉัน พวกเขาทั้งสอง 'อ่าน' ข้อความของฉันและสามารถใช้กฎของจดหมายได้ แต่ทั้งคู่ไม่ได้ทำเครื่องหมายข้อความว่าอ่านจนกว่าฉันจะดู
Steve HHH
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.