【问题标题】:Attached EML files in emails sent via GMAIL-APIs are not viewable in GMAIL通过 GMAIL-API 发送的电子邮件中附加的 EML 文件在 GMAIL 中不可见
【发布时间】:2020-04-27 03:40:05
【问题描述】:

我目前正在开发一个 gmail 插件。该插件会向特定收件人发送一封电子邮件,并附上 eml 文件。不幸的是,收件人无法打开我通过 GMAIL API 发送的电子邮件所附的 eml 文件。如果他们单击附加的 eml 文件,他们将收到消息“加载附加消息时发生错误”。

我在分析单击电子邮件上的“显示原始”时看到的数据时,发现了两个可能与此问题有关的问题。一个是我通过 GMAIL API 发送的所有电子邮件都有“从 xxxxxxxxxxx 接收,gmailapi.google.com 命名为未知,带有 HTTPREST”标题。并且电子邮件内容中缺少整个 base64 编码的 eml 文件。请看下图:

这与Emails sent via GMAIL API are flagged as Phishy 有关吗?还是我错过了或做错了什么?如果我将“附件类型”设置为“文本/纯文本”,那么当我“显示原始”电子邮件时,base64 编码的 eml 文件数据就会存在并且可以查看。提前谢谢大家。

【问题讨论】:

  • 对于使用 Gmail API 发送的邮件,不要担心“使用 HTTPREST 从 gmailapi.google.com 名称未知的 xxxxxxxxxxx 接收”,这不会影响邮件的可读性。至于你的编码:你的文件是base64编码还是base64ur编码?
  • 谢谢@ziganotschka 它只是base64Encoded。我需要使用 base64URLEncoded() 吗?谢谢。
  • 是的,需要base64URLEncoded,看这里:developers.google.com/gmail/api/v1/reference/users/messages/…
  • 我也会试试的。但是,如果我将 eml-attachment 内容类型设置为“text/plain”而不是“message/rfc822”,为什么它可以正常工作?而且,如果我下载使用 content-type="message/rfc822" 发送的 eml 附件,下载的 eml 文件可以在 Outlook 中完美查看。另一个令人困惑的情况是当我“显示原始”时缺少 eml 文件内容。但是,如果我将附件内容类型设置为“文本/纯文本”,我可以在“显示原始”时看到整个数据。如果这是一个简单的编码案例,下载 eml 文件不会太有效吧?还是我弄错了?谢谢。
  • 我不熟悉 eml 文件,但 Gmail 需要 RFC 2822 格式。请注意 RFC 2822 取代了 RFC 822(或者换句话说:RFC 822 已过时)。 tools.ietf.org/html/rfc2822

标签: gmail gmail-api gmail-addons


【解决方案1】:

@GovZ 您可以使用 MailApp.send 而不是 GmailApp.send,同时将内容类型设置为“message/rfc822”,并且电子邮件应该可以正确预览。

详情请看:https://issuetracker.google.com/issues/155736170

【讨论】:

  • 感谢您的回答.. 我会看看这个。再次感谢您。
  • 我很抱歉无法回答这个问题。我能够使用 MailApp API 并成功发送电子邮件并能够查看附加的 eml 文件。然而,问题是它看起来像是由这个域“maestro.bounces.google.com”发送的。而且,这个bug到现在还没有修复。
猜你喜欢
  • 2016-07-19
  • 2019-01-24
  • 2014-12-11
  • 2012-01-07
  • 2023-03-19
  • 2011-12-09
  • 1970-01-01
相关资源
最近更新 更多