这有点令人尴尬,但在按照以下操作后,我停留在了在 Debian 上调试 postfix+dovecot 设置的第一步本指南。
从我的服务器发送电子邮件有效,但接收无效。我在 /var/log/mail.log 中看到此行(有一些删节):
# /var/log/mail.log
Oct 18 19:17:03 X postfix/lmtp[387]: BB7321F440: to=<[email protected]>, relay=X.Y[private/dovecot-lmtp], delay=1157, delays=1095/0.02/0.01/62, dsn=4.3.0, status=deferred (host X.Y[private/dovecot-lmtp] said: 451 4.3.0 <[email protected]> Internal error occurred. Refer to server log for more information. (in reply to RCPT TO command))
为了方便和强调,关键部分是:
Internal error occurred. Refer to server log for more information.
/var/log/syslog 中出现了完全相同的错误消息,但是那里没有其他信息。
在哪里可以找到这里提到的“服务器日志”,以便我可以继续调试?
答案1
我认为这些消息很可能是指通过 发送到邮件设备的 dovecot 日志syslog
。
要找到日志文件,需要查看文件/etc/syslog.conf
,以查看该日志位于哪个文件中。
在许多发行版中,此日志文件是/var/log/maillog
。如果您在其中或在文件中找不到任何有用的错误消息
/var/log/mail.log
,那么我认为这些消息不正确,并且在任何其他服务器日志中都找不到任何其他信息。
您必须处理所遇到的错误消息,或者找到其他方法来调试您的设置。
答案2
您可以在本地发送电子邮件吗?
尝试以下步骤:
telnet localhost 25
如果它正在监听你会看到:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 yourserver ESMTP Postfix (Ubuntu)
然后输入:
ehlo localhost
mail from: root@localhost
rcpt to: youruser@localhost
data
Subject: Trying to see if you get this email delivered
Fingers cross! :)
.
quit
如果你输入:
mail
您应该会看到您的电子邮件。
如果这个方法可行,那就太好了。但是如果你想从互联网接收电子邮件,你必须配置你的 postfix。
我假设 DNS 设置正确,以便为您的电子邮件服务器提供 A 类地址,并为您的域提供 MX 地址。
干杯