情况如下:
我有一个域名,比如说 domain.com。该域名已启用 Google Apps for Business,因此发送到 @domain.com 的所有邮件最终都会到达 Google(MX 记录指向 Google)。
我在 domain.com 上有一个 PHP 脚本,我用它来给自己发送邮件。但是当 PHP 脚本试图向[电子邮件保护],该服务器上的 Postfix 认为收件人是本地用户(因为地址与 Postfix 本身所在的域相匹配),并尝试在本地投递邮件。但由于找不到邮箱,最终失败。
我怎样才能指示 Postfix 不要尝试在本地处理任何发往 @domain.com 的电子邮件,而是直接将它们转发给 Google 以便 Google 可以接收它们?
我已经$myhostname
从 Postfix 的 main.cf 文件中的 mydestination 字段中删除了,并且重新启动了 Postfix,但 Postfix 仍然尝试在本地发送邮件。以下是 mail.log 中的一段代码,显示了问题(地址已替换):
postfix/pickup[20643]: AF718422E5: uid=33 from=<server>
postfix/cleanup[20669]: AF718422E5: message-id=<62e706bcca5a0de0bfec6baa576d88a5@server>
postfix/qmgr[20642]: AF718422E5: from=<server>, size=517, nrcpt=1 (queue active)
postfix/pipe[20678]: AF718422E5: to=<[email protected]>, relay=dovecot, delay=0.62, delays=0.47/0.03/0/0.13, dsn=5.1.1, status=bounced (user unknown)
postfix/bounce[20680]: AF718422E5: sender non-delivery notification: 29598422E7
postfix/qmgr[20642]: AF718422E5: removed
答案1
http://www.postfix.org/LOCAL_RECIPIENT_README.html
本地域(与 $mydestination 或 $inet_interfaces 或 $proxy_interfaces 中的 IP 地址匹配的域)
读到这些让我怀疑 IP 地址是否匹配$inet_interfaces
?如果是,请设置relayhost = smtp.gmail.com:587
并添加local_transport = smtp
。不要忘记为 SMTP 身份验证设置 SASL。