当我这样做时
% mail -s "test" [email protected] < mail-text
需要几秒钟,然后返回以下错误消息:
/home/zach/dead.letter... Saved message in /home/zach/dead.letter
尽管如此,收件人(在本例中是我)确实很好地收到了邮件。我对此感到困惑,并希望在没有错误消息的情况下发送邮件。
另外,我在 cron bash 脚本中也有同样的行,但我没有看到任何错误消息或 dead.letter。有什么想法,可能有什么区别?
另一个有趣的事情是,如果我使用 mailx 而不是 mail,一切都会正常工作。
我的 Unix 是:SunOS 登录 5.10 Generic_150401-06
预先非常感谢您提供的各种见解或指点。
PS:是的,我已经用谷歌搜索过,但我发现死信的唯一原因是邮件无法完成发送,显然在我的情况下就是这样。
答案1
您查看过 中的邮件日志条目吗/var/log/syslog
?您应该找到带有“...用户未知”字样的行
默认mail
程序不接受-s "test"
,因此将其视为"test"
收件人。dead.letter
为名为 test 的不可邮寄收件人保存。尝试添加-t
到mail
命令中以查看"To: test"
是否出现在dead.letter
.
-s "test"
最后,从邮件命令中省略即可成功运行它,而无需创建/附加到dead.letter
文件。