加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:47:10 所属栏目:PHP教程 来源:网络整理
导读:我无法通过我的php脚本或通过我的Centos 5.5 LAMP服务器上的 linux控制台发送邮件,当电子邮件被发送到我的盒子托管的域时. 我认为这与内部的电子邮件路由或该框使用的DNS服务器没有报告正确的MX记录有关. 基本上我的盒子不托管任何邮件,它全部托管在谷歌应用
我无法通过我的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中阅读有关该问题的更详细说明.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读