我无法使用 smtp 协议将电子邮件从我的服务器 nagios.emoney.com 发送到中继主机。我使用 tcpdump 测试了 v-smtpgw5.ka.kasnova.net cmsmtp,发现以下错误:-
220 v-smtpgw5.ka.kasnova.net cmsmtp ESMTP 服务器就绪
EHLO nagios.emoney.com
250-v-smtpgw5.ka.kasnova.net 你好 [192.176.46.25],很高兴认识你
250-HELP
250-AUTH LOGIN PLAIN CRAM-MD5 DIGEST-MD5
250-SIZE 157286400
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 OK
MAIL FROM:SIZE=23469
550 5.1.0 hajYZDVLAFhmqhajYZZnfF 发件人域被拒绝 [403]
RSET 250 2.0.0 OK
QUIT
221 2.0.0 v-smtpgw5.ka.kasnova.net cmsmtp 关闭连接
有人能帮忙找出这里出了什么问题吗?
答案1
它拒绝为您的域中继的最可能原因是您的邮件程序显然从未在声明中说明您从哪个地址发送邮件MAIL FROM:
。请注意,后面没有电子邮件地址,它直接跳转到SIZE=23469
?这被称为空路径。根据 RFC,这是有效的语法,但许多邮件服务器会拒绝代表未知地址发送邮件。
您没有说明哪个程序正在生成邮件,但如果您在程序中配置了“发送为”电子邮件地址,它应该在 SMTP 对话中使用它。它看起来更像:
MAIL FROM: <[email protected]> SIZE=23469
或者
MAIL FROM: John Doe<[email protected]> SIZE=23469
答案2
如果不先进行身份验证,则无法通过 SMTP 服务器中继电子邮件。需要用户名和密码。