为什么Gmail认为我们的电子邮件不符合RFC 2822标准?

5
我们使用Mailgun发送电子邮件,最近我注意到每天有相当多的电子邮件被Gmail拒绝。以下是我们收到的一种类型的消息:
550
5.7.1 [184.173.153.6      11] Our system has detected that this message is
5.7.1 not RFC 2822 compliant. To reduce the amount of spam sent to Gmail,  
5.7.1 this message has been blocked. Please review
5.7.1 RFC 2822 specifications for more information. f15si23385851vdu.1 - gsmtp

RFC 2822规范是一份庞大的文件,所以我没有从头到尾地阅读它,但从网上的资源来看,我们的电子邮件没有落入任何会触发Gmail此类响应的常见陷阱。

这里是一个示例电子邮件头:

Received: by luna.mailgun.net with HTTP; Mon, 29 Jun 2015 21:06:59 +0000
Message-Id: <20150629210659.18668.39318@(domain)>
X-Mailgun-Variables: {"variation": "original", "campaign_code":
 "(customValue)"}
Reply-To: (name) <(email)>
X-Mailgun-Track: false
X-Mailgun-Tag: (customTag)
To: (email)
From: (name) <(email)>
Subject: (subject)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="12f0bd630f2145a3afcd98b621a3b1f2"

--12f0bd630f2145a3afcd98b621a3b1f2
Content-Type: text/plain; charset="ascii"
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit

(text content)

--12f0bd630f2145a3afcd98b621a3b1f2
Content-Type: text/html; charset="ascii"
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>(title)</title>
<style type="text/css">
(css)
</style>

</head><body style="(css)" >
  (content)
</body>
</html>
--12f0bd630f2145a3afcd98b621a3b1f2--

我们做错了什么?

你曾经向Mailgun支持咨询过吗?我怀疑他们拥有最好的专业知识来回答你的问题。一般情况下,我认为Mailgun不会发送无效的电子邮件,所以必须是你设置的某个设置导致了问题。有一件事让我感到困惑,那就是字符集。你的MIME内容类型字符集与HTML的元字符集不一致。但不确定这是否会生成此错误。 - Chris
我们也在使用Mailgun,并且看到RFC 2822拒绝的数量增加。这似乎是随机的。发送一封电子邮件给10个收件人,我们可能会在其中一个收件人处失败,然后再次向同一组收件人发送下一封电子邮件将成功,然后另一封电子邮件将因为该组中不同的收件人而失败。在与Mailgun支持团队反复讨论后,他们建议我们联系Google。 - kshep
你和Mailgun之间还有这种问题吗?在过去的一个月里,我已经使用Mailgun和Gmail发送了许多电子邮件,在不同的收件人那里看到了相同的随机错误,但在此之前并没有发生过。 - Jonathon Rossi
2个回答

2
你的示例中一个明显的rfc2822违规是缺少Date头。
来自rfc2822,第3.6节

唯一必需的标题字段是起始日期字段和
发起人地址字段(s)。


2
原来我们在发件人和回复地址上使用了两个不同的域名,我猜这是不允许的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接