微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 google 工作区 (Gmail) 答案:更多信息:

如何解决如何在 google 工作区 (Gmail) 答案:更多信息:

我注意到有时当我向 Gmail 帐户发送邮件时。 Gmail 拒绝消息 ID 并重新生成 ID。

您可以通过查看原始邮件并看到其中包含“SMTPIN_ADDED_broKEN”字符串来识别这一点。

例如:

<60f17262.1c69fb81.3e091.249dSMTPIN_ADDED_broKEN@mx.google.com>

然后在标题添加了我的原始消息 ID “X-Google-Original-Message-ID”

因为这让我以后更难跟踪这些消息。 我想提前确保我所有的消息 ID 都是有效的。 我猜谷歌正在根据 RFC 标准之一(可能是 https://datatracker.ietf.org/doc/html/rfc5322#section-3.6.4)验证消息 ID。标准往往很宽泛,有时也很模糊。有人可以提供有关 Google 工作区如何验证消息 ID 的更具体规则。

以下是邮件 id 的示例,该邮件 ID 将被标准视为有效但被 Gmail 拒绝

  <CAFDdQNjt907n4M"kpM2zaXHA82ZCSppZOc+bYoeKuWkatrSbmw@mail.gmail.com>

  =?UTF-8?Q?<762"51b6a8a859d4c2bd7ecd70a3aff811991d6b7@localhost.eu>?=

我猜 gmail 不喜欢“

另见:
regex to validate a message-ID as per RFC2822

gmail is modifying header(Message-ID) of incoming mails

更新 按照下面拉法的回答。 在 rfc2822 中,您可以找到以下定义。

msg-id          =       [CFWS] "<" id-left "@" id-right ">" [CFWS]
id-left         =       dot-atom-text / no-fold-quote / obs-id-left
id-right        =       dot-atom-text / no-fold-literal / obs-id-right
no-fold-quote   =       DQUOTE *(qtext / quoted-pair) DQUOTE

以 DQUOTE 为例,如果我正确地遵循语法

DQUOTE - DQUOTE( ) finds the first double quote mark in the string and returns all characters from that point,until a second double quote mark is found. If the string does not contain at least two double quote marks,a null string is returned.

因此以下应该是 RFC-2822 中的有效消息 ID <test.a"rfc2822"c.123@message.com> 但是被拒绝了

解决方法

答案:

Gmail 使用 RFC 2822 而不是 RFC 5322 作为邮件标头中的邮件 ID。确保在生成消息 ID 时使用此规范。

更多信息:

来自 creating messages 的文档:

Gmail API 需要符合 RFC 2822 并编码为 base64url 字符串的 MIME 电子邮件。

希望对你有帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。