如何从邮件命令中获取响应

如何从邮件命令中获取响应

我正在尝试使用 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

与守护进程无关:

  1. mailq命令将显示仍在队列中的每封邮件的摘要。每个遵守标准的守护进程都会执行此命令,因此它应该可以工作。

  2. 查看(几乎总是如此,但每个发行版可能略有不同)/var/log/mail.log匹配目标地址的行,然后跟踪该特定消息发生的情况,以及在尝试传递该消息时从远程服务器收到的响应。

相关内容