Postfix - จะลองส่งจดหมายในคิวอีกครั้งได้อย่างไร


94

ฉันมีเซิร์ฟเวอร์เมลสำรองในกรณีที่เซิร์ฟเวอร์หลักล้มเหลว ในกรณีที่เกิดความล้มเหลวอีเมลจะเข้าสู่เซิร์ฟเวอร์สำรองและอยู่ที่นั่นจนกว่าอีเมลหลักจะกลับมา

หากฉันรอสักครู่การส่งจะเสร็จสิ้นโดยอัตโนมัติทันทีที่เซิร์ฟเวอร์หลักกลับมา แต่อาจใช้เวลานาน ดังนั้นวิธีการบังคับให้ลองส่งเมล์ทั้งหมดซ้ำอีกครั้ง?

สำหรับตัวอย่าง: postqueue -p: ส่งรายชื่ออีเมลให้ฉัน

ฉันลอง postqueue -f (จากหน้าคน: ล้างคิว: พยายามส่งจดหมายที่อยู่ในคิวทั้งหมด) มันล้างคิวอย่างแน่นอน แต่ไม่ได้ส่งอีเมล ...


ดูเหมือน -f จะล้างและ -q คิว (ส่งคิว)
erm3nda

1
postqueue -qไม่มี มีsendmail -qการสนับสนุนไวยากรณ์ sendmail เพื่อให้ postfix สามารถแทนที่ sendmail ได้อย่างสมบูรณ์ แต่นั่นเป็นคำพ้อง ตัวอักษรที่แตกต่างกันคือ jsut เพราะ postfix เลือกที่แตกต่างจาก sendmail
โยฮันเนสเอช

ขออภัยอีกครั้งแสดงความคิดเห็นในวันเดียวกัน :) ดังนั้นทั้งคู่จึงผิด
erm3nda

คำตอบ:


112

ตามpostqueue (1)คุณสามารถเรียกใช้postqueue -fเพื่อล้างเมลคิวของคุณ หากเมลไม่ถูกส่งหลังจากล้างคิว แต่ถูกร้องขอแทนคุณอาจต้องการตรวจสอบข้อผิดพลาดของบันทึกเมล

การแอบดูโพสต์สุด ๆ (1)อาจมีประโยชน์เช่นกัน บางทีข้อความอาจถูกพักไว้และจำเป็นต้องได้รับการปล่อยตัวก่อน


36

postqueue -fควรทำงาน. หากไม่เป็นเช่นนั้นก็มีเหตุผลที่ดี ตรวจสอบบันทึก pfqueueยังเป็นคำสั่งที่มีประโยชน์มากสำหรับการตรวจสอบสปูลเมล


15

sendmail -q ลองส่งจดหมายทั้งหมดในคิวทันที


สิ่งนี้ไม่เหมือนกับการรัน postqueue -f หรือไม่
Dalibor Filus

2
@ ไม่มีมัน จากเอกสาร : -q พยายามส่งจดหมายที่อยู่ในคิวทั้งหมด สิ่งนี้ถูกนำไปใช้โดยการรันคำสั่ง postqueue (1)
the-wabbit

ฉันไม่ได้ตรวจสอบสิ่งนั้น แต่ดูเหมือนว่า -f จะล้างออกและ -q คือคิว หนึ่งพยายามที่จะส่งแล้วคนอื่น ๆ เพียงแค่ทำความสะอาดคิว ดีกว่าที่จะลองส่งมอบฉันเดา
erm3nda

1
@ erm3nda อย่างน้อยคุณควรตรวจสอบ man man ก่อน จากpostqueueman page: "-f ล้างคิว: พยายามส่งเมลที่อยู่ในคิวทั้งหมดตัวเลือกนี้ใช้คำสั่ง" sendmail -q "แบบดั้งเดิมโดยติดต่อกับ Postfix qmgr (8) daemon => พวกมันมีความหมายเหมือนกันและทำสิ่งเดียวกัน "
โยฮันเนส H.

@JohannesH อืม ... ขอโทษคุณพูดถูกฉันควรอ่าน ขอบคุณสำหรับการแก้ไข
erm3nda

4

postqueue -s domain.tldควรทำให้เครื่องถ่ายทอดข้อมูลสำรองเพื่อล้างอีเมลทั้งหมดสำหรับเว็บไซต์ของคุณ การตั้งค่าเริ่มต้นสำหรับ postfix relay_domainsช่วยล้างต่อเว็บไซต์สำหรับโดเมนทั้งหมดใน postqueue -fจะทำเช่นนี้ แต่จะผลักจดหมายออกไปยังไซต์ภายนอกเช่นจะทำมากกว่าที่คุณต้องการ

คุณทราบได้อย่างไรว่าจดหมายนั้นยังไม่ถูกส่งมอบอย่างไร พวกเขายังอยู่ในโฮสต์สำรองหรือถูกส่งไปยังโฮสต์หลักแล้วหายไปหรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.