我正在尝试使用 和 来设置一种通知系统,当我的网站关闭时,它会提醒我crontab
。mailx
我继续mailx
在我的服务器上安装,然后尝试通过以下方式发送一封简单的测试电子邮件:mail -s "Testing" myemail.com < /dev/null
,但我的收件箱中没有收到任何内容。输入该命令后我看到的唯一消息是mailx
正文为空,对于这种情况来说,这完全没问题。
我开始在线查找并注意到,为了mailx
工作,我需要MTA
使用类似mutt
或的东西来设置postfix
,但我的服务器已经配置好了,postfix
所以我认为这会在发送电子邮件时给我一个错误。
mailx
我真的对此不太了解,postfix
所以当没有发生任何错误时,我很难调试这个问题。如果有人知道为什么会发生这种情况,我将不胜感激。谢谢!
答案1
如果邮件成功传递到 postfix,则不会立即出现错误。检查mailq
邮件是否仍在邮件队列中,并查看/var/log/maillog
(或等效)传递错误。
邮件未送达的原因可能有很多。最常见的两个原因是 (a) 您的服务提供商阻止出站邮件连接以防止垃圾邮件,或 (b) 您的邮件提供商阻止来自您服务器的连接,因为它是潜在的垃圾邮件来源,例如,该 IP 地址过去曾用于发送垃圾邮件并且已列入黑名单。您需要检查日志才能进行诊断。
更一般地说,为什么不使用像 UptimeRobot 或 Hetrix Tools 这样的可以做到这一点并且提供免费套餐的服务呢?