我似乎无法弄清楚为什么root
每分钟发送几封电子邮件。我希望它停止,因为我正在证明我每 24 小时发送一次电子邮件的能力(每天超过 5000 封)。
我做的第一件事是尝试将根电子邮件转发到外部帐户,以获得有关正在发送的电子邮件的更多详细信息。这不是我需要完成的,只是向你展示我尝试过。无论如何,我无法让它工作,电子邮件不会转发。
[邮件转发]
我试过
编辑:/etc/aliases 并添加 `root:[电子邮件受保护]
编辑:/root/.forward 并添加我的电子邮件
这两种方法都没有转发电子邮件。
[计划任务]
我想到并读到的下一件事是 crond 由于我的 cronjobs 正在发送电子邮件。是的,我确实有每分钟运行一次的 cron 作业,所以我认为这可能是问题所在。
我试过
编辑 /etc/crontab 并更改值
MAILTO=root
以及MAILTO=
我尝试过的MAILTO=""
我还手动将所有 cron 作业更改为每小时运行一次,看看它们是否停止,但它们没有停止但仍在继续。
我还停止了 crond 守护进程,但 root 继续发送邮件。
这是来自 WHM 的电子邮件交付报告示例;我看不到任何有帮助的东西。
这也是我的mailog
文件的样子,但我又看不到任何东西。
任何人都可以为我指出正确的方向,以找出为什么 root 每分钟多次向 root 发送电子邮件吗?
答案1
这是一个调试过程而不是解决方案。
首先,您应该确定您正在使用哪个邮件传输代理。例如,sendmail
、exim4
、postfix
、msmtp
或其他几个之一。查看/etc/init.d
或运行ps -ef
可能会阐明这一点。
确定您要exim4
查看的有趣位置是主传送日志文件/var/log/exim4/mainlog
和假脱机目录/var/spool/exim4/input
。 (对于sendmail
,至少等效的假脱机目录是/var/spool/mqueue
。) 的消息exim4
暂时存储在假脱机目录中,分为标题和正文:
1cC1ss-0002rV-Pw-D # Data (message body)
1cC1ss-0002rV-Pw-H # Headers
1cC1ss-0002rV-Pw-J # Job control (may not be present)
明显的/var/log/mail.log
不会包含来自的消息exim4
(尽管它会包含 true sendmail
)。在您的情况下,它仅包含来自dovecot
IMAP 服务器的消息,因此在这种情况下几乎没有相关性。
暂时关闭 MTA 可能是值得的,这样它就不会尝试处理队列:
service exim4 stop
删除您添加的 root 转发绝对值得。否则,退回邮件将返回到根,根将其转发到场外,生成未送达退回,该退回将返回到根,根将其转发到场外,生成未送达退回,这将继续无限期。
忽略传输传递问题(消息冻结、未传递退回等),希望剩余消息的内容将有助于阐明发送方进程或错误的真正原因。
答案2
您的系统生成错误或警告。要查看导致问题的原因,请转至 WHM 的“邮件队列管理器”。在那里您将看到从根发送到根的消息。单击最右栏的“操作”按钮可查看该消息。这将向您显示需要纠正的错误或警告。