- Ubuntu 14.04 作为虚拟机安装在一台通过 Perl 5.18.2 发送带附件的电子邮件的机器上。这部分工作正常,因为 Perl 直接与 SMTP 服务器通信。
- 我们将机器名称命名为“myubuntu”。
- 我有 cron 作业,用于在完成时向本地“myubuntu”帐户发送邮件,其中包含任何错误消息。我通过 alpine 阅读电子邮件。
- 我最近安装了 SSMTP、Postfix、sendemail 来尝试通过 cron 发送带有附件的电子邮件,但它们没有发送附件。我怀疑这些卸载了 sendmail。
- 我的 cron 作业运行良好,因为我的 Perl 程序将它们通过电子邮件发送到另一个电子邮件,但我的 cron 作业不再将电子邮件发送到机器“myubuntu”上的本地“chuck”帐户。
- 我相信我在某个地方将“myubuntu”更改为“myubuntu.net”,但我不记得在哪里。我检查了 /etc/hosts 和 /etc/hostname,但无济于事。
- 当使用 alpine 从“chuck”向“chuck”发送测试电子邮件时,我收到此错误:“找不到 /usr/sbin/sendmailb”。
- 因此我安装了 sendmail,并用“at”作业对其进行了测试,但在“chuck@myubuntu”上没有收到任何电子邮件。
- 当我 ping “myubuntu.net”时,我得到:传输了 5 个数据包,接收了 0 个数据包,数据包丢失率 100%。当我 ping 127.0.0.1 时也遇到了同样的问题。
我如何让 cron 再次将电子邮件发送回本地“chuck”帐户?Crontab 在 crontab 文件中有“MAIL=chuck”。为什么它没有发送到本地帐户?
我应该卸载 postfix、ssmtp 和 sendmail 吗?
谢谢。
编辑:当我输入“mailq”时,每封电子邮件都会出现此错误:“延迟:与 [127.0.0.1] 的连接超时”。所以也许我的 /etc/hosts 文件设置不正确,或者我没有正确刷新它?当我更改 /etc/hosts 时,如何刷新内容?
答案1
您刚刚安装了 3 个不同的提供 sendmail 的应用程序,此外还很可能破坏了 postfix 的配置文件,甚至更多?
然而,这并不是真正的灾难,因为你听起来对这个话题有点陌生,我建议你做一个sudo apt-get purge sendmail postfix ssmtp
。
然后决定再次安装哪一个。如果您决定使用 postfix,请选择仅限本地。如果我没记错的话,postfix 会将域设置为 localhost。