(我知道在 ServerFault 上有几个几乎重复的问题,不幸的是,没有一个对我有帮助。一个不完整的列表:1、2、3)
我有一个私人服务器,它也是我和我家人的邮件服务器。几个星期以来,Gmail 一直在阻止来自我服务器的邮件,我不知道为什么。谷歌为此提供的文件和联系表格被证明是死胡同或黑洞,他们永远不会回复我。
那么,我该如何联系 Gmail?当然,最好是人类。
在过去的几年里,我曾经能够发送到 Gmail,但从差不多一个月前开始,我的所有邮件都被拒绝,并显示以下消息:
我们的系统检测到来自您的 IP 地址的非请求邮件的异常率 550-5.7.1。为了保护我们的 550-5.7.1 用户免受垃圾邮件的侵害,从您的 IP 地址发送的邮件已被阻止。550-5.7.1 请访问 550-5.7.1 https://support.google.com/mail/?p=UnsolicitedIPError查看我们的 550 5.7.1 批量电子邮件发件人指南。132si3016603wmh.2 - gsmtp(回复 DATA 命令的结尾)
这是我到目前为止检查并完成的内容:
- 尽我所能,我没有在我的服务器上发现任何恶意软件(也运行了 chkrootkit)。
- 流量一如既往的低,我的日志中还没有发现任何可疑的东西。
- 我的服务器不是开放中继(我使用多个在线服务进行检查)。
- 该服务器仅供我和我的家人使用,只允许经过身份验证的用户发送。
- 我的服务器/域未列在任何 DNSBL 中(我使用 www.dnsbl.info 等进行了检查)。
- 我的域在 DNSWL.org中列出。
- 我的域是使用 Gmail Postmaster Tools 注册的。它们在那里被标记为已验证。
- 我曾尝试使用他们的联系表格两次联系 Gmail,并提供了所要求的信息。他们没有回复我(我第一次给他们写信是 3 周前,最后一次是几天前)。
- 我确实阅读了反弹中提到的页面上的文档,并阅读了该页面上链接的文档,但结果都是死胡同。
- 在 Gmail Postmaster Tools 中,它们链接到选择您自己的冒险风格的文档以进行故障排除(它还链接到页面上的 SMTP 错误消息的某个位置)。这也被证明是一个死胡同,因为我完成了所有事情(唯一的例外是我没有 DKIM)。
- 我的域有有效的 SPF 记录,但没有 DKIM。
- IP 具有有效的反向 DNS 记录 (PTR)。
在这一点上,我不知道如何进行。似乎没有办法就此与 Google 的人员进行实际联系,而且我无法找出我的服务器被 Gmail 阻止的原因。
我该如何进行?我错过了什么?有没有办法解决这个问题,例如我可以使用一种中继服务将我的邮件从我的服务器发送到 Gmail?
编辑:在过去的几周里,我检查了 Postfix 日志中的外发邮件,并确实注意到一个帐户存在反向散射(该用户的邮件被转发到另一台服务器,该服务器有时会拒绝我的系统未捕获的垃圾邮件)。它大约每两天发生一次,并且总是在同一个地址发生,但我当然需要解决这个问题。除此之外,日志显示没有异常的外发邮件。我确实注册了 GSuite(前两周是免费的)并发送了支持请求,让我们看看情况如何……
编辑 2:我确实很快得到了 GSuite 支持人员的回复。在来回几封邮件后,我们进行了电话交谈。本质上,那个人告诉我,不幸的是,他在这里无能为力(错误的部门,无法访问必要的系统),但他还是想尝试帮助我并将我的问题转发给其他人。那是周五,今天的周二,不幸的是到目前为止什么都没发生。邮件仍然不起作用,所以这是另一个死胡同,我会尝试使用http://www.wikihow.com/Contact-Google让其他人通过电话。
“如何联系 Gmail 团队?”问题的答案 是:你不能。你只能猜测出了什么问题,并希望最好。
我终于设法让 Gmail 再次接受我的邮件。缺少的部分是DKIM和DMARC:我昨天在我的服务器上添加了对这些的支持,现在我可以再次发送到 Gmail。
所以有一个很长的清单可以让 Gmail 满意:
我假设 Gmail 调整了他们的政策,因为相同的设置(没有 DKIM 和 DMARC)工作了几个月,没有改变。
如果有任何问题,您无法联系 Gmail 团队,这真的很麻烦。我知道他们不喜欢支持每个小型邮件服务器运营商,但是如果您无法联系到 Gmail 用户,这可能会对企业造成真正的损害,因此 Google 应该在这方面做得更好!即使是我通过 GSuite 支持联系到的谷歌人也无法提供任何帮助,他也不知道普通人如何联系他们(他暗示他确实写了他们但没想到会有任何回应) .
更新:所以不幸的是,虽然我可以从我的主域发送到 Gmail,但来自可能第二个域的邮件(也具有有效的 SPF、DKIM 和 DMARC 并且来自同一服务器)仍然被 Gmail 拒绝。伟大的…
更新 2:所以我发现了另一个拼图。出于某种原因,我的服务器在使用我的主域时使用 IPv4 与 Gmail 联系,但当我尝试使用我的辅助域发送邮件时使用的是 IPv6。我在 Google 的 DMARC 报告中注意到了这一点(但在报告中,所有值都报告为“通过” ...... wtf,Google?)。但也许只是“运气”,在我的测试中 IPv4 与我的默认域一起使用。
我确实检查了我的 IPv6 是否有 rPTR,因此IPv6-address → hostname → IPv6-address 是正确的,并且Postfix 使用了正确的 HELO。
无论如何,解决这个问题的方法是强制 Postfix 在发送到 Gmail 时通过 IPv4 发送。
这是在 Postfix 中执行此操作的方法。将以下行添加到您的配置中(该
transport_maps
行可能已经存在于您的系统中):注意:我发现的大多数指南都没有这
-o inet_interfaces=my.ipv4.addr.ess
行(显然,在此处插入服务器的 IPv4 地址)但没有它,我收到一条错误消息fatal: config variable inet_interfaces: host not found: my:ipv6:address
。完成这些更改后,调用
或者无论您的文件的路径
transport
是什么,然后重新启动 Postfix(只是重新加载可能不起作用)。更新 3:我遇到了另一个问题:使用 Gmail 作为其 MX 的域。在这里强制通过 IPv4 连接似乎
transport
无济于事。这迫使我做了一个非常野蛮的解决方案:更喜欢 IPv4 而不是 IPv6(在这个答案中找到了如何做)。