后缀:强制服务器将邮件发送到本地主机之外


9

我有一个使用mail()函数发送邮件的php文件。问题在于,其中一种形式发送到在我的服务器上注册的域,而邮件在另一台服务器上处理。Postfix仅在本地显示。如果找不到电子邮件地址,则拒绝该消息。如何配置后缀以通过Internet而非本地将邮件发送到所有域?

更新资料

好。因此,这根本不是一个后缀问题。我只需要关闭从命令行发送到该域的邮件。对于需要该命令的任何人(至少在我的系统上):

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

Answers:


4

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

首先,我应该检查我的DNS设置。我已经将DNS托管在Plesk服务器之外,但是我将DNS设置为在域创建期间由服务器管理(默认选项),这是唯一的错误。然后,除了将邮件发送到由Plesk管理的域之外,其他一切都运行良好。然后,邮件已从domain.tld成功发送到example@gmail.com,但没有成功发送到example@domain.tld

对我来说,解决方案是在Plesk控制面板中禁用域的DNS服务。可以通过DNS Settings“控制面板”中的域来完成。


1

听起来您$mydestination错了。使用以下命令在系统上检查其当前值:

postconf mydestination

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

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

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

有关常见Postfix方案的更多信息,请查阅标准配置示例。您还可以查看有关的信息mydestination


这是我的mydestination的样子:mydestination = $ myhostname,localhost。$ mydomain,localhost
LoneWolfPR 2012年

奇怪的是我已经更改了它,但是它仍然没有显示我在main.cf文件中看到的内容
LoneWolfPR 2012年

尝试postfix reload重新加载您的配置…
裂变2012年

原来,解决方案并非以postfix开头。由于我还无法回答自己的问题,请发布答案的更新。感谢您抽出宝贵的时间。
LoneWolfPR 2012年

知道这不是“普通”后缀,而您正在使用Plesk,可能会有所帮助。;-)很高兴听到它已经排序。
裂变2012年

1

您还可以使用/ etc / postfix / transport文件有选择地定义哪个smtp服务器应处理哪些域的邮件。就像,如果要将mydomain.com电子邮件发送到smtp.mydomain.com,则可以写入/ etc / postfix / transport:

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

之后不要忘记对/ etc / postfix / transport进行postmap,以创建postfix使用的.db文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.