我正在尝试使用 mail 命令发送发送电子邮件
mail -s "subject" email_address < email_text
但我如何确认电子邮件是否实际发送(即 email_address 是错误还是正确)
答案1
要检查所有邮件是否都已消失,目录 /var/spool/mqueue 应该为空。此目录包含与邮件队列中的消息关联的临时文件,并且可能包含日志文件。例如:
# ls -ltr /var/spool/mqueue
-rw-r----- 1 root smmsp 240 Nov 13 22:11 dftADBBuZl027798
-rw-r----- 1 root smmsp 1149 Nov 13 23:18 dftADCIacE001585
-rw-r----- 1 root smmsp 12216 Nov 14 17:06 dftAE666SH027158
-rw-r----- 1 root smmsp 1530 Nov 14 21:10 qftADCIacE001585
-rw-r----- 1 root smmsp 1452 Nov 14 21:10 qftADBBuZl027798
-rw-r----- 1 root smmsp 930 Nov 14 21:33 qftABDxS6e024439
df 文件包含已排队的电子邮件的正文。 qf 文件包含所有消息标头,以及一些其他信息,例如(最近的)失败消息以及发送此特定电子邮件的尝试次数。所以你会发现你的电子邮件没有消失。
df 文件保持静态(直到删除),而 qf 文件每次运行此队列时都会更新。
问候,
答案2
与守护进程无关:
该
mailq
命令将显示仍在队列中的每封邮件的摘要。每个遵守标准的守护进程都会执行此命令,因此它应该可以工作。查看(几乎总是如此,但每个发行版可能略有不同)
/var/log/mail.log
匹配目标地址的行,然后跟踪该特定消息发生的情况,以及在尝试传递该消息时从远程服务器收到的响应。