多次遇到的问题,但还没有找到一个像样的解决方案:
从例如"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)。尝试/检查以下内容。
- 如果您使用的是cPanel或类似产品,请将MX记录设置为外部邮件服务器(Google应用程序等)。
- 设置 SPF 记录以允许您的托管网站发送电子邮件(这样无需配置 SMTP)。
- 这可能不适用,但如果你使用的是phpmailer之类的东西。设置属性
$mail->isMail();
,以便尝试使用 SPF 允许的本地 mail() 函数发送电子邮件。很抱歉提出非常具体的建议,但可能会对您的特定情况有所帮助。 - 值得检查的是,您的托管框上没有类似名称的本地邮箱。希望这有帮助!