我收到很多这样的消息:
me@home:/etc/snmp$ tail /var/log/syslog
Jun 12 17:52:15 home nullmailer[1238]: Starting delivery: protocol: smtp host: mail. file: 1339502401.24665
Jun 12 17:52:15 home nullmailer[7086]: smtp: Failed: Connect failed
Jun 12 17:52:15 home nullmailer[1238]: Sending failed: Host not found
Jun 12 17:52:15 home nullmailer[1238]: Starting delivery: protocol: smtp host: mail. file: 1339174804.27614
Jun 12 17:52:15 home nullmailer[7087]: smtp: Failed: Connect failed
Jun 12 17:52:15 home nullmailer[1238]: Sending failed: Host not found
Jun 12 17:52:15 home nullmailer[1238]: Starting delivery: protocol: smtp host: mail. file: 1339324201.21737
Jun 12 17:52:15 home nullmailer[7088]: smtp: Failed: Connect failed
Jun 12 17:52:15 home nullmailer[1238]: Sending failed: Host not found
Jun 12 17:52:15 home nullmailer[1238]: Delivery complete, 331 message(s) remain.
问题是,我不记得发送过任何内容。我如何找出哪个软件发送了这些消息?我如何阅读它们?
答案1
要查看队列中某条消息的内容,请尝试执行以下操作:(显然要将数字文件名替换为系统日志中的实际文件名)
$ sudo cat /var/spool/nullmailer/queue/1347323616.6506
请注意,由于队列子目录和文件的权限,您必须使用sudo
或以 root 身份登录。
答案2
您似乎已安装nullmailer
但无法将电子邮件发送到您的机器。每次启动时都会尝试发送所有这些邮件。此外,如果您重新启动 nullmailer,您将再次生成这些消息:
sudo /etc/init.d/nullmailer restart
查看您的邮件队列:
sudo su
ls -lah /var/spool/nullmailer/queue/
看看日期。它们可能都是无用的旧电子邮件。
因此有两种解决方案:
无需本地邮件
因此,如果您不关心系统发送的电子邮件,只需不时清空空邮件队列即可:
rm /var/spool/nullmailer/queue/*
并且您可能还会使用以下命令删除数 GB 的邮件日志:
rm /var/log/mail.*
rm /var/log/syslog*
您可以将其添加到您的etc/rc.local
文件中以自动执行此操作。
本地邮件递送
如果你确实想从你的系统获取电子邮件,例如 PHP 发送消息并且你想测试它们的外观,你可以安装fakemail
以将这些邮件存储在文件夹中
(看:http://distinctplace.com/2013/06/20/nullmailer-and-fake-mail-two-little-tools-for-every-developer/)
答案3
也许值得一试
sudo apt-get install php5-mcrypt
因为所有发送的消息都是我的系统上的 php 错误,并且其他几个人也报告了此问题。