当前位置:  开发笔记 > 编程语言 > 正文

邮件服务器不在Web主机上时的sendmail和MX记录

如何解决《邮件服务器不在Web主机上时的sendmail和MX记录》经验,为你挑选了1个好方法。

这是一个我确定很容易解决的问题,但我一整天都在喋喋不休.

我正在为客户开发一个新的网站.该网站位于(这是一个例子)website.com.我有一个PHP表单脚本,通过电子邮件将访问者的请求发送到requests@website.com.

当我在不同域上的登台服务器上编码时,一切正常.当我将它移动到website.com时,邮件消息从未到达.Web服务器位于具有主要ISP的虚拟主机上.

以下是我从那时起学到的东西:我的客户端的邮件服务器是Microsoft Exchange,位于办公室的物理盒子上.每当外界人士通过电子邮件request@website.com时,邮件就会到达. 但是,如果Web服务器发送到相同的电子邮件地址,则每次都会失败.这不是 PHP问题.我将shell安全地保存到Web服务器,并使用sendmail和UNIX邮件应用程序对其进行了测试.我也通过从shell发送各种电子邮件帐户来测试它.我可以给自己发电子邮件,例如,在website.com域名中没有人.

简而言之,当我登录website.com时,发送邮件至requests@website.com,user@website.com,alother_user@website.com全部失败.所有其他地址工作正常.我发现这些丢弃的电子邮件被路由到网络服务器的"catchall"帐户,它们位于收件箱中.

我在website.com上做过MX查找.MX记录指向mailsec.website.com.我可以telnet到mailsec.website.com端口25并查看SMTP服务器.

在我看来,在发送邮件到requests@website.com时,website.com没有进行MX查找.我的理论是,它将域识别为本地域,看到没有"请求"用户帐户将其传递给,并将邮件丢弃到catchall帐户.我想要的是强制sendmail进行MX查找并将消息发送到Exchange服务器.我在这里结束了.我无法弄清楚如何做到这一点.

就此而言,我可能会离开这里,完全误解了这一点.互联网邮件和MX对我来说似乎总是一种黑色艺术,我的无知肯定在这个问题上显示出来.



1> tvanfosson..:

我认为问题是sendmail(你的进程)正在与本地sendmail守护进程通信.本地sendmail守护程序认为因为它是website.com,所以它应该知道如何传递电子邮件.不幸的是,to字段中的实际地址在Web服务器上不存在,因此它将其转储到"catchall"邮箱中.您应该与您的ISP交谈并让他们更新他们的sendmail配置,以便发送到... @ website.com的邮件转发到邮件交换器,而不是在本地处理.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有