How to delete messages from mail queue
วิธีการลบ mail ออกจาก queue ของ MTA ต่างๆ โดยสมมติว่ามี mail อยู่ใน queue ดังนี้
-Queue ID- --Size-- ----Arrival Time---- ---Sender/Recipient-------
9DCE512DB8140 113016 Fri Sep 9 16:49:55 [email protected]
(temporary failure)
[email protected]
A94D912DB80D1 46747 Fri Sep 9 13:48:28 [email protected]
(temporary failure)
[email protected]
D1D0612DB8118 113626 Fri Sep 9 16:47:22 [email protected]
(temporary failure)
[email protected]
วิธีการลบ mail queue ของ Sendmail
- ลบแบบ manual คือให้ไปลบไฟล์ใน /var/spool/mail/ และ /var/mqueue/ ตัวอย่าง
[root@Ezylinux ~]# rm -f /var/spool/mail/*.*
[root@Ezylinux ~]# rm -f /var/mqueue/*.*หรืออาจใช้คำสั่ง find เข้ามาช่วยค้นหา email ที่ต้องการลบได้ ตัวอย่างเช่น ต้องการลบ email ที่มีสถานะ “temporary failure” จาก /var/spool/mqueue
[root@Ezylinux ~]# find /var/spool/mqueue -type f -exec grep "temporary failure" {} \; -exec rm -rf {} \;
- ใช้คำสั่ง sendmail จาก user root
ลบ mail queue ทั้งหมด
[root@Ezylinux ~]# sendmail -v -q
แบบระบุ domain ผู้ส่ง
[root@Ezylinux ~]# sendmail -qS -v ezylinux.com
แบบระบุ domain ผู้รับ
[root@Ezylinux ~]# sendmail -qR -v ezylinux.com
- ลบโดยระบุ queue id ใช้คำสั่ง postsuper ตามด้วย QueueID ตามตัวอย่างด้านล่าง
[root@Ezylinux ~]# postsuper -d 9DCE512DB8140
- ลบ mail queue แบบระบุ domain
ระบุ email ผู้ส่ง ตัวอย่างเช่น ต้องการลบ [email protected] (ผู้ส่ง) จาก mail queue
[root@Ezylinux ~]# postqueue -p | grep -v '^ *(' | awk 'BEGIN { RS = "" } { if ($7 == "[email protected]") print $1 } ' | tr -d '*!' | postsuper -d -
ระบุ email ผู้รับ ตัวอย่างเช่น ต้องการลบ [email protected] (ผู้รับ) จาก mail queue
[root@Ezylinux ~]# postqueue -p | grep -v ‘^ *(‘ | awk ‘BEGIN { RS = “” } { if ($8 == “[email protected]” && $9 == “”) print $1 } ‘ | tr -d ‘*!’ | postsuper -d –
- ลบโดยระบุ queue id
[root@Ezylinux ~]# exim -Mrm D1D0612DB8118
- ลบ mail queue ทั้งหมด
[root@Ezylinux ~]# exim -bp | awk '/^ *[0-9]+[mhd]/{print "exim -Mrm " $3}' | sh
หรือ
[root@Ezylinux ~]# exim -bp | exiqgrep -i | xargs exim -Mrm
- ลบ mail queue ที่มีอายุมากว่า 300 วินาที หรือ 5 นาที
[root@Ezylinux ~]# exiqgrep -o 300 -i | xargs exim -Mrm
แถมคำสั่งดู mail ใน queue ของ Sendmail
[root@Ezylinux ~]# mailq
วิธีการลบ mail queue ของ Postfix
สำหรับ Postfix จะต้องใช้คำสั่ง postsuper ในการลบจาก mail queue เท่านั้น
** $7=sender, $8=recipient1, $9=recipient2
แถมคำสั่งดู mail ใน queue ของ postfix
[root@Ezylinux ~]# postqueue -p
วิธีการลบ mail queue ของ Exim
แถมคำสั่งดู mail ใน queue ของ Exim
[root@Ezylinux ~]# exim -bp
[stextbox id=”info” caption=”บริการของเราเกี่ยวกับระบบ Mail Server:”]รับติดตั้ง Zimbra Mail Server[/stextbox]