sendmail 未发送到云端(本地邮件有效)

sendmail 未发送到云端(本地邮件有效)

我正在使用一个 perl 模块(Mail::Sendmail)来sendmail发送东西。它没有工作,但没有给我任何错误。

所以现在我怀疑sendmail。我试过:

telnet 127.0.0.1 25
mail from:[email protected]
rcpt to:[email protected]
data
 subject: subject line
 sgiopjsdoigjsd
 sdgsdg

 sdgfsdg
 .
quit

我收到“邮件已接受投递”消息,这是应该发生的情况。我等了几分钟,收件箱里什么也没有。所以我看了一下/var/log/maillog.3,它没有任何与我刚刚所做的事情相关的内容。

我尝试通过这样做在本地向另一个用户发送邮件,并且成功了。但日志中仍然没有任何内容(这让我相信真正的日志在其他地方)。mail [email protected]

加起来:

  • 无法发送邮件到云端,但可以在本地使用
  • sendmail 日志文件的位置未知

答案1

老实说,这听起来像是 sendmail.cf 问题,就好像它没有配置为非本地电子邮件,或者配置错误。

该文件/var/log/maillog.3几乎肯定是一个“旧”日志文件,因此不会向其中写入任何新内容。你没有提到你正在使用什么 Linux 发行版、BSD 或 Unix,但当前日志文件(sendmail 当前附加到的日志文件)可能名为“/var/log/maillog 如果/var/log/maillog不存在,你可以尝试停止并启动 sendmail,然后查看是否存在”。创建 /var/log/maillog 或其他文件。

调试:正如您所发现的,旧telnet localhost 25技巧非常有用,但您可以使用旧 BSD 之类的东西Mail程序的“-v”选项之类的东西。尝试http://heirloom.sourceforge.net/mailx.html为来源。使用它,您可以看到 SMTP 会话是什么样子,这会有所帮助。

如果你真的很绝望,你可以在调试模式下运行 sendmail:

sendmail -bt -C /whatever/sendmail.cf

您可以输入电子邮件地址并查看 sendmail 对它们执行的操作。

答案2

您是否正在使用另一个 MTA(例如 exim4)?
看一下/var/log/exim4/*,可能就是这样。

相关内容