从Linux传出的邮件没有被传送

我似乎无法通过我的php脚本或通过我的Centos 5.5 LAMP服务器上的Linux控制台发送邮件,当电子邮件地址转到由我的方框托pipe的域。

我认为这是与内部的电子邮件路由或DNS服务器使用的DNS服务器不报告正确的MXlogging有关。

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

我不确定如何解决这个问题。 以前,当我在cPanel服务器上遇到这个问题时,我会编辑remotedomainslocaldomains文件,将域从一个文件移到另一个文件,这样可以解决问题。

我需要提供什么信息给任何人以解决问题是什么?

谢谢

如果运行sendmail -btsendmail -bttesting模式),然后键入$=w您将看到列出了您遇到问题的域。 这是因为sendmail认为发往所述域的邮件必须在本地交付,而不是发送给Google。 所以你需要做的是在两个地方修改你的sendmail.mc文件(如果不存在的话,添加它们)。

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

 LOCAL_CONFIG Kbestmx bestmx -T.TMP 

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

 LOCAL_RULE_0 R $* < @ example.com. > $* $#esmtp $@ [$(bestmx example.com. $)] $: $1 < @ example.com. > $2 
  • 注1:将example.comreplace为有问题的域

  • 注2:不要将规则粘贴到sendmail.mc中。 在规则的左侧和右侧键入它们不能用空格分隔,而要用制表符分隔。

  • 注3:编辑完sendmail.mc后,你必须build立sendmail.cf,然后重新启动sendmail。 我不知道CentOS如何做到这一点。 我运行Debian并执行sendmailconfig

你可以在我的博客文章中阅读关于这个问题的更详细的解释。