php – 来自linux的外发邮件未送达

前端之家收集整理的这篇文章主要介绍了php – 来自linux的外发邮件未送达前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法通过我的PHP脚本或通过我的Centos 5.5 LAMP服务器上的 linux控制台发送邮件,当电子邮件被发送到我的盒子托管的域时.

我认为这与内部的电子邮件路由或该框使用的DNS服务器没有报告正确的MX记录有关.

基本上我的盒子不托管任何邮件,它全部托管在谷歌应用程序上.我的名字服务器由第三方提供商托管,我正在使用webmin. Webmin无法识别第三方提供商的设置.

我不确定如何解决这个问题.以前当我在cpanel服务器上遇到此问题时,我会编辑remotedomains和localdomains文件,将域从一个文件移动到另一个文件,这样可以解决问题.

我需要提供哪些信息才能解决问题所在?

谢谢

如果您运行sendmail -bt(sendmail的测试模式),然后键入$= w,您将看到列出了您遇到问题的域.这是因为sendmail认为发往所述域的邮件必须在邮箱中本地传递,而不是发送给Google.所以你要做的就是在两个地方修改你的sendmail.mc(或者如果它们不存在则添加它们).

首先在LOCAL_CONFIG部分添加一个查找域的最佳MX的地图:

LOCAL_CONFIG
Kbestmx bestmx -T.TMP

接下来,在LOCAL_RULE_0部分中,sendmail选择一个传递代理,使用上面的地图将邮件路由到Google:

LOCAL_RULE_0
R $* < @ example.com. > $*           $#esmtp $@ [$(bestmx example.com. $)] $: $1 < @ example.com. > $2

>注1:将example.com替换为相关域名
>注意2:不要复制粘贴sendmail.mc中的规则.键入规则的左侧和右侧不是用空格分隔,而是用制表符分隔.
>注意3:编辑完sendmail.mc后,必须构建sendmail.cf然后重新启动sendmail.我不知道在CentOS中如何做到这一点.我运行Debian并执行sendmailconfig

您可以在my blog post here中阅读有关该问题的更详细说明.

猜你在找的PHP相关文章