我的服务器设置为仅生成传出电子邮件(不接收),并在尝试联系smtp.example.com时超时
本质上来说,电子邮件由myserver.example.com上的进程生成,发送到本地主机上的postfix,后者充当卫星系统,并将电子邮件转发到smtp.example.com
来自myserver.example.com上的postfix的错误消息是:
Date/time-stamp myserver postfix/smtp[####]: ##########: to=<[email protected]>, relay=smtp.example.com:25 delay=1029, delays=729/0.01/300/0, dsn=4.4.2 status=deferred (conversation with smtp.example.com timed out while receiving the initial server greeting)
无论收件人是谁,都是一样的错误。 出站电子邮件正在排队,永远不会发送。
我已经通过telnet smtp.example.com 25证实了这个超时,并且发现我甚至没有从SMTP服务器得到最初的220响应。
但是,如果我使用telnet -l myuser smtp.example.com 25 ,则会立即收到220响应,并且可以按照预期发送电子邮件。
我已经通过将以下条目添加到main.cfconfiguration了postfix来使用SMTP-AUTH
relayhost = smtp.example.com smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/password smtp_sasl_security_options = noanonymous smtp_connect_timeout = 120s
任何人都可以build议我可以改变我的postfixconfiguration,以获得通过使用telnet -l myuser获得的快速(或任何 )响应的types?
SMTP不能理解你用-l设置的用户,因为它的协议不是telnet。
我猜想通过指定-l你的telnet客户端会自动发布一些东西到smtpd ,那么你看到的输出就是它响应任何随机input的东西?
但不pipe怎么说。 如果你只是telnet到你的smtpd的25端口而根本没有输出,那么在你连接的时候,日志里可能会有一些错误。 也许你应该尝试检查日志与tail -f连接? 取决于您的发行版,日志可能位于不同的文件中,例如在SuSE上:
tail -f /var/log/mail.info /var/log/mail.err /var/log/mail.warn
现在,当你运行这个tail ,同时连接到smtpd ,看是否有一些错误被写入日志。