使用本地域名

时间:2015-06-19 08:03:50

标签: php apache email sendmail

这是一个我曾经遇到过几次的问题,并且尚未找到合适的解决方案:

从网络服务器发送电子邮件,例如: " domain.com",发送到外部邮件服务器上的info@domain.com,例如Google Mail

在我的情况下,我总是从PHP发送到Apache并经常在共享主机上发送,但我可以想象这在其他框架上也是如此。

即使我将该服务器上的MX records设置为指向正确的外部邮件服务器,这些电子邮件似乎总是会传递到本地邮件服务器。

对此的解决方案是使用外部SMTP服务器,但当您与需要在其服务器上设置新电子邮件帐户的客户端一起工作时,这并不容易。提供SMTP详细信息或注册第三方SMTP服务器。

这是什么解决方案?有没有办法绕过SMTP?

2 个答案:

答案 0 :(得分:1)

大多数emai / MTA服务器“自动配置”自己。他们猜测本地电子邮件域列表(具有本地托管邮箱的doimans)。

在sendmail案例中,您可以将其关闭,在sendmail.mc中添加以下行:

define(`confDONT_PROBE_INTERFACES', `True')

文档:cf/README - confDONT_PROBE_INTERFACES

答案 1 :(得分:0)

我有很多次同样的问题(在我的情况下在LAMP堆栈上使用PHP)。 请尝试/检查以下内容。

  1. 如果您使用的是cPanel或类似内容,请将MX记录设置为外部邮件服务器(Google apps等)。
  2. 设置SPF记录以允许您的托管网站发送电子邮件(这种方式无需配置SMTP)。
  3. 这可能不适用,但如果你使用像phpmailer这样的东西。设置属性$mail->isMail();,以便它尝试使用您的SPF允许的本地mail()函数来发送电子邮件。很抱歉找到非常具体的建议,但可能会对您的特殊情况有所帮助。
  4. 值得检查您的主机箱上没有类似命名的本地邮箱。 希望这有帮助!