我在我的一个网站上的 PHP mail() 表单中遇到了一个古怪的 GSuite/Gmail 可传递性问题。这是我能给出的尽可能详细的场景:
我们有两个业务(A 和 B),每个业务都有自己的域。这两个域都是在我们的公司 GSuite 实例中设置的,其中 BusinessA.com 是主要的。
我最近为 BusinessB.com 建立了一个新网站。网站上的联系表格是用 PHP 的 mail() 编程的,可以将表格回复通过电子邮件发送到 2 个 BusinessB.com 地址,但是,电子邮件没有通过。我们已经完成了强制性垃圾邮件检查,并且我已经为 BusinessB.com (testb@BusinessB.com) 设置了一个新的测试帐户。没有 BusinessB.com 表单回复进入收件箱。(正常的入站和出站电子邮件工作正常。)
为了解决问题,我将我的 BusinessA.com 电子邮件以及外部(非 GSuite)Gmail 地址添加到收件人列表中,两者都可以毫无问题地收到表单提交。
接下来,我将别名 testb@BusinessA.com 添加到 testb@BusinessB.com 测试电子邮件地址。当我将此别名添加到收件人列表时,表单提交也没有问题。
最后,我测试了转发到两个原始 BusinessB.com 地址的现有 BusinessA.com GSuite 组。发送给该组的表单回复完全没有问题地转发给两个原始收件人。(目前这是一种解决方法,但我仍然需要解决这个问题)
由于 BusinessA.com 地址、外部 Gmail 地址、别名地址和 Gsuite 组都收到了电子邮件,我不认为这是编码错误的结果。
重要的是要注意,在企业 B 的新域和网站之前,他们有一个不同的域,该域也驻留在同一个托管服务提供商上,并且也在我们的公司 GSuite 实例中设置为一个域。以前没有表单可交付性问题。
这让我相信它是 GSuite 中域级别的东西。
我是否缺少特定于域的设置?可能需要DNS记录吗?我在想这个错误吗?
更新 - 解决了这个问题。在多次尝试改写我的搜索之后,我遇到了这个问题:无法向我自己的域中的地址发送电子邮件,虽然本身不是同一个问题,但@user2428118 的回答成功了。这是 cpanel 中的一个设置,它有所作为。我已经有了他提到的 MX 记录,所以就像选择“远程邮件交换器”选项一样简单。