为什么我不能使用 Postfix 从 AWS Ubuntu 发送/接收电子邮件?

为什么我不能使用 Postfix 从 AWS Ubuntu 发送/接收电子邮件?

我正在尝试在我的 AWS Ubuntu 盒子上发送/接收电子邮件。为此,我遵循了 Amazon 发布的说明这里(我跳过了标题为“使用安全隧道配置集成”

但是,我仍然无法发送任何电子邮件。当我尝试发送电子邮件到时[email protected],它失败了:

local_user@ip-172-XXX-XXX-XXX:~$ netcat mydomain.com 25
220 mydomain.com ESMTP Postfix (Ubuntu)
ehlo mydomain.com
250-mydomain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
454 4.7.1 <[email protected]>: Relay access denied

以下是日志文件显示的内容:

$ sudo tail -F /var/log/mail.log
Oct 17 18:06:10 ip-172-XXX-XXX-XXX postfix/smtpd[22869]: warning: hostname ec2-54-XXX-XXX-XXX.us-west-2.compute.amazonaws.com does not resolve to address 54.XXX.XXX.XXX
Oct 17 18:06:10 ip-172-XXX-XXX-XXX postfix/smtpd[22869]: connect from unknown[54.XXX.XXX.XXX]
Oct 17 18:06:31 ip-172-XXX-XXX-XXX postfix/smtpd[22869]: NOQUEUE: reject: RCPT from unknown[54.XXX.XXX.XXX]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mydomain.com>

我该如何解决这个问题?问题是什么?请注意,我的 EC2 位于 AWS区域。但我已在文件中将US West (Oregon)中继主机设置为。这是问题吗?我不认为是。email-smtp.us-east-1.amazonaws.com:25main.cf

我的 main.cf 文件已发布这里

答案1

您的中继主机出现了拼写错误。

relayhost = email-smtp.us-east.amazonaws.com:25

应该

relayhost = email-smtp.us-east-1.amazonaws.com:25

答案2

这是预期行为。邮件服务器仅接受未经身份验证的传入连接,发送邮件至本地用户。对于经过身份验证的用户,此限制无效(请参阅permit_sasl_authenticatedsmtpd_relay_restrictions,因此这些用户可以中继邮件(邮件服务器将邮件发送到互联网)。

要允许特定主机无需身份验证,请将其添加到mynetworks参数中。


顺便说一句,您在值之间缺少逗号smtpd_relay_restrictions

相关内容