我在远程服务器上托管了 3 个域,但我仅使用其他 postfix 服务器进行 SMTP 传输。因此,我有两台服务器:
- mail.domain1.com-远程邮件服务器,存储邮箱并用于 IMAP
- smtp.domain1.com-本地 postfix 服务器,仅用于 SMTP
外部电子邮件似乎不错,但内部电子邮件不起作用(例如[电子邮件保护]到[电子邮件保护])。我摘录了我的日志和我的main.cnf
。任何帮助或建议都将不胜感激。
由于显而易见的原因,IP/域名已被删除,但如有必要可以提供。
外部电子邮件的工作示例:
Jul 20 17:16:35 smtp postfix/smtpd[12808]: warning: hostname mail.domain1.com does not resolve to address REMOTE IP (NO IDEA why this appears, yet the email sends fine)
Jul 20 17:16:35 smtp postfix/smtpd[12808]: connect from unknown[REMOTE IP]
Jul 20 17:16:35 smtp postfix/smtpd[12808]: A42EDD4323: client=unknown[REMOTE IP]
Jul 20 17:16:35 smtp postfix/cleanup[12811]: A42EDD4323: message-id=<[email protected]>
Jul 20 17:16:35 smtp postfix/qmgr[12792]: A42EDD4323: from=<[email protected]>, size=579, nrcpt=1 (queue active)
Jul 20 17:16:35 smtp postfix/smtpd[12808]: disconnect from unknown[REMOTE IP]
Jul 20 17:16:36 smtp postfix/smtp[12812]: A42EDD4323: to=<[email protected]>, relay=mta7.am0.yahoodns.net[63.250.192.46]:25, delay=1.2, delays=0.04/0/0.21/0.98, dsn=2.0.0, status=sent (250 ok dirdel)
Jul 20 17:16:36 smtp postfix/qmgr[12792]: A42EDD4323: removed
不起作用的内部电子邮件:
Jul 20 17:15:32 smtp postfix/master[12787]: daemon started -- version 2.9.6, configuration /etc/postfix
Jul 20 17:15:55 smtp postfix/smtpd[12808]: connect from mail.domain1.com[REMOTE IP]
Jul 20 17:15:55 smtp postfix/smtpd[12808]: A61FAD4323: client=mail.domain1.com[REMOTE IP]
Jul 20 17:15:55 smtp postfix/cleanup[12811]: A61FAD4323: message-id=<[email protected]>
Jul 20 17:15:55 smtp postfix/qmgr[12792]: A61FAD4323: from=<[email protected]>, size=1232, nrcpt=1 (queue active)
Jul 20 17:15:55 smtp postfix/smtpd[12808]: disconnect from mail.domain1.com[REMOTE IP]
Jul 20 17:15:55 smtp postfix/smtp[12812]: A61FAD4323: to=<[email protected]>, relay=mail.domain1.com[REMOTE IP]:25, delay=0.08, delays=0.05/0/0.01/0.02, dsn=5.0.0, status=bounced (host mail.domain1.com[REMOTE IP] said: 530 SMTP authentication is required. (in reply to RCPT TO command))
Jul 20 17:15:55 smtp postfix/cleanup[12811]: B8757D4327: message-id=<[email protected]>
Jul 20 17:15:55 smtp postfix/qmgr[12792]: B8757D4327: from=<>, size=3274, nrcpt=1 (queue active)
Jul 20 17:15:55 smtp postfix/bounce[12813]: A61FAD4323: sender non-delivery notification: B8757D4327
Jul 20 17:15:55 smtp postfix/qmgr[12792]: A61FAD4323: removed
Jul 20 17:15:55 smtp postfix/local[12814]: B8757D4327: to=<[email protected]>, relay=local, delay=0.01, delays=0/0/0/0, dsn=5.1.1, status=bounced (unknown user: "ez-proposal")
Jul 20 17:15:55 smtp postfix/qmgr[12792]: B8757D4327: removed
我的main.cf
myhostname = smtp.domain1.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = smtp.domain1.com, localhost.domain1.com, domain2.com, localhost
relayhost =
mynetworks = 127.0.0.0/8 [REMOTE IP]/32 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtp_host_lookup = native
答案1
从错误信息来看
Jul 20 17:15:55 smtp postfix/smtp[12812]: A61FAD4323: to=<[email protected]>, relay=mail.domain1.com[REMOTE IP]:25, delay=0.08, delays=0.05/0/0.01/0.02, dsn=5.0.0, status=bounced (host mail.domain1.com[REMOTE IP] said: 530 SMTP authentication is required. (in reply to RCPT TO command))
看起来您的远程服务器使用 hMailServer。
深入研究其文档,这里是错误的解释及其解决方案。
530 需要 SMTP 身份验证。
您已为用户连接的 IP 范围启用了 SMTP 身份验证,但用户尚未将其客户端配置为使用 SMTP 身份验证。有两种方法可以解决此问题。配置您的电子邮件客户端以使用 SMTP 身份验证。此设置通常位于电子邮件客户端的帐户设置中。或者,禁用 IP 范围的 SMTP 身份验证。建议使用第一个解决方案,因为它可以降低任何人通过您的服务器发送垃圾邮件的风险。
默认情况下,hMailServer 不需要对来自 localhost / 127.0.0.1 的连接进行 SMTP 身份验证。对于来自其他主机的连接,需要进行 SMTP 身份验证才能向外部收件人发送邮件。默认情况下,hMailServer 不需要 SMTP 身份验证来向本地帐户发送邮件,因为这会阻止其他电子邮件服务器向您的安装发送电子邮件。有关如何启用 SMTP 身份验证的信息,请查看 HOWTO。
如果您使用的是 Cisco 路由器,则可能需要禁用 SMTP Fixup 协议。如果启用该协议,路由器有时会拦截 SMTP 流量并在其到达 hMailServer 之前替换其中的数据,这将导致问题。
答案2
host mail.domain1.com[REMOTE IP] said: 530 SMTP authentication is required. (in reply to RCPT TO command)
看起来您没有授权本地用户发送邮件。
您在 main.cf 中对“smtpd_relay_restrictions”有任何设置吗?我使用
smtpd_relay_restrictions = permit_sasl_authenticated, reject_unauth_destination
另外,您是否尝试过增加 master.cf 中的日志详细程度?添加这样的 -v 标志会有所帮助:
submission inet n - n - - smtpd -v
而且当然 :
#postfix reload