简洁的想法

仁爱、喜乐、和平、忍耐、恩慈、良善、信实、温柔、节制

Sendmail 删除未寄出的信件

| Comments

有些用户留下的email是错的, 可怜的Sendmail会一遍一遍地给这个错误的地址发邮件。
/var/spool/mqueue存放了没寄出的邮件, 一封未寄出的信会有二个档案,这二个档案包含了原始信件及寄件失败的原因。

查看没寄出的邮件:

1
mailq

1
2
3
4
5
6
 /var/spool/mqueue (1 request)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
j8NFunJe071657    15472 Fri Sep 23 23:56 <>
 (Deferred: Connection refused by mail.somewhere.com.)
 <www@some.your.com>
Total requests: 1

我们可以看到有一封信未送出,原因是被 mail.somewhere.com 拒绝了。

一般而言,Sendmail 每隔一段时间 (依启动 Sendmail 所加的 -q 参数而决定) 会自动重新送出队列中的信件,
最后都无法送出则会通知寄件者。如果您要立即重新送出队列中的信件,可以使用下列指令:

1
sendmail -qf

如果您要删除某一封在队列中的信件,请先使用 mailq 查看 Q-ID,再到 /var/spool/mqueue 中删除 qfXXXX 及 dfXXXX 的档案,其中 XXXX 是您要删除的 Q-ID。

Comments