使用本地域名从 Web 服务器向外部邮件服务器发送邮件


Sending mail from webserver to external mail server with local domain name

这是我

多次遇到的问题,但还没有找到一个像样的解决方案:

从例如"domain.com"上的网络服务器向托管在外部邮件服务器(例如谷歌邮件)上的 info@domain.com 发送电子邮件

就我而言,我总是通过Apache从PHP发送,并且经常在共享主机上发送,但我可以想象在其他框架上也是如此。

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

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

对此的解决方案是什么?没有办法绕过SMTP吗?

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

在 sendmail 的情况下,您可以将其关闭,并在 sendmail.mc 中添加以下行:

define(`confDONT_PROBE_INTERFACES', `True')

文档 : cf/自述文件 - confDONT_PROBE_INTERFACES

我多次

遇到同样的问题(在我的情况下,在 LAMP 堆栈上使用 PHP)。尝试/检查以下内容。

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