postfix:强制服务器发送localhost之外的邮件

我有一个使用mail()函数发送邮件的php文件。 问题是其中一个表单被发送到在我的服务器上注册的域,同时在不同的服务器上处理邮件。 Postfix只在本地查找。 当它没有find电子邮件地址是拒绝的消息。 我怎样才能configuration后缀发送邮件到所有域通过互联网,而不是本地?

更新

好。 所以这根本不是一个后缀问题。 我只需要从命令行closures邮件到该域。 对于任何需要这个命令的人来说(至less在我的系统上):

/usr/local/psa/bin/domain --update example.com -mail_service false 

我解决了类似的问题。 当您在更新中写入时,必须通过/usr/local/psa/bin/domain --update example.com -mail_service false closures域邮件服务 /usr/local/psa/bin/domain --update example.com -mail_service false命令 – 它应该在大多数情况下工作。 无论如何,我犯了另一个错误,closures邮件服务是不足以解决我的问题。

起初我应该检查我的DNS设置。 我有Plesk服务器以外的DNS托pipe,但我设置该域名服务器(默认选项)在域创build期间pipe理 – 这是唯一的错误。 然后,除了发送邮件到Pleskpipe理的域名以外,一切都运行良好。 然后,邮件从domain.tld成功发送到[email protected],而不是发送到[email protected]

我的解决scheme是禁用Plesk控制面板中域的DNS服务 。 可以通过域控制面板中的DNS Settings完成。

你也可以使用/ etc / postfix / transport文件来select定义哪个smtp服务器应该处理哪些域邮件。 就像,如果你想发送mydomain.com邮件到smtp.mydomain.com你可以写入/ etc / postfix / transport:

 mydomain.com smtp:[smtp.mydomain.com] 

不要忘了后来做postmap / etc / postfix / transport,来创buildpostfix使用的.db文件。

这听起来像你的$mydestination是错的。 使用以下命令检查系统上的当前值:

 postconf mydestination 

默认情况下,postfix只将邮件传递给本地主机,而不是整个域:

 % postconf -d mydestination mydestination = $myhostname, localhost.$mydomain, localhost 

如果你需要调整,编辑/etc/postfix/main.cf

有关常见Postfixscheme的更多信息,请查阅标准configuration示例 。 您也可以在mydestination上看到具体的信息 。