我按照本教程创建了邮件服务器http://www.unixmen.com/install-postfix-mail-server-with-dovecot-and-squirrelmail-on-centos-6-4/
我可以向自己发送电子邮件,它运行正常,但是当我想发送到另一个域名邮件时,它会显示错误:
Message not sent. Server replied:
Transaction failed
554 5.7.1 <[email protected]>: Relay access denied
在该教程中,它说设置 DNS 服务器并添加邮件服务器 MX 记录。这有必要吗?要将邮件发送到另一个域吗?也许这是一个问题?
邮件日志
Jun 27 07:14:52 mobifor postfix/smtpd[1822]: connect from localhost[::1]
Jun 27 07:14:52 mobifor postfix/smtpd[1822]: NOQUEUE: reject: RCPT from localhost[::1]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[129.233.111.73]>
Jun 27 07:14:52 mobifor postfix/smtpd[1822]: lost connection after RCPT from localhost[::1]
Jun 27 07:14:52 mobifor postfix/smtpd[1822]: disconnect from localhost[::1]
答案1
看起来您正连接着错误的 SMTP 端口或者您有一个坏的smtpd_recipient_restrictions
。
大多数 SMTP 设置都开放了端口 25,用于其他服务器向本地帐户发送邮件(TLS 变体开放了 465),还有一个额外的端口 587(称为submission
),用于本地用户向外部主机发送邮件。您可以在 master.cf 中激活这些端口并应用不同的配置。例如,这可能是在 master.cf 中提交的代码片段(不完整,仅在这种情况下有用!):
submission inet n - - - - smtpd
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_sasl_authenticated,permit_mynetworks,reject
您可以看到,每个连接的人都必须进行身份验证 ( permit_sasl_authenticated
),然后才能发送任何邮件。这将覆盖 main.cf 中的配置,该配置禁止向 中未列出的域发送本地邮件mydestination
。但是,如果您要向其他人发送本地邮件,您不希望出现这种情况。
如需更具体的帮助,如果您能提供当前的配置,那将会非常有用。