Jas*_*son 4 email php sendmail lamp
我似乎无法通过我的 php 脚本或 Centos 5.5 LAMP 服务器上的 linux 控制台发送邮件,当电子邮件被发送到我的盒子托管的域时。
我认为这与内部的电子邮件路由有关,或者与盒子使用的 DNS 服务器没有报告正确的 MX 记录有关。
基本上我的盒子不托管任何邮件,它都托管在谷歌应用程序上。我的名称服务器由第 3 方提供商托管,我使用的是 webmin。Webmin 无法识别第 3 方提供商的设置。
我不确定如何解决这个问题。以前,当我在 cpanel 服务器上遇到这个问题时,我会编辑remotedomains和localdomains文件,将域从一个文件移动到另一个文件,它会解决问题。
我需要为任何人提供哪些信息才能确定问题所在?
谢谢
如果您运行sendmail -bt(sendmail 的测试模式)然后键入,$=w您将看到列出了您遇到问题的域。这是因为 sendmail 认为发送到所述域的邮件必须在本地发送到邮箱中,而不是发送到 Google。所以你要做的就是在两个地方修改你的sendmail.mc(或者如果它们不存在就添加它们)。
首先在 LOCAL_CONFIG 部分添加一个映射来查找域的最佳 MX:
LOCAL_CONFIG
Kbestmx bestmx -T.TMP
Run Code Online (Sandbox Code Playgroud)
接下来,在 LOCAL_RULE_0 部分,sendmail 选择递送代理,使用上面的地图将邮件路由到 Google:
LOCAL_RULE_0
R $* < @ example.com. > $* $#esmtp $@ [$(bestmx example.com. $)] $: $1 < @ example.com. > $2
Run Code Online (Sandbox Code Playgroud)
注 1:将 example.com 替换为相关域
注意 2:不要在 sendmail.mc 中复制粘贴规则。键入它们的左侧和右侧规则不是用空格分隔而是用制表符分隔。
注3:sendmail.mc 编辑完成后,必须建立sendmail.cf,然后重新启动sendmail。我不知道这是如何在 CentOS 中完成的。我运行 Debian 并执行sendmailconfig
您可以在我的博客文章中阅读有关该问题的更详细说明。
| 归档时间: |
|
| 查看次数: |
3551 次 |
| 最近记录: |