通过GMAIL API发送的电子邮件中附加的EML文件在GMAIL中不可见

通过GMAIL API发送的电子邮件中附加的EML文件在GMAIL中不可见,gmail,gmail-api,gmail-addons,Gmail,Gmail Api,Gmail Addons,我目前正在开发一个gmail插件。该插件向特定的收件人发送一封带有附加eml文件的电子邮件。不幸的是,收件人无法打开我通过GMAIL API发送的电子邮件附带的eml文件。如果他们点击附加的eml文件,他们将收到消息“加载附加消息时出错” 当我分析我在电子邮件上单击“显示原件”时看到的数据时,我发现了两个问题,这可能与此问题有关。一个是我通过GMAIL API发送的所有电子邮件都有“从XXXXXXXXXX收到,gmailapi.google.com命名为unknown,带有HTTPREST”的

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

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


这与什么有关?还是我错过了什么或者做错了什么?如果我将“附件类型”设置为“文本/普通”,则当我“显示原始”电子邮件时,base64编码的eml文件数据将显示并可查看。提前谢谢大家。

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


此处的详细信息:

对于使用Gmail API发送的消息,不必担心“从gmailapi.google.com使用HTTPREST从xxxxxxxxxx收到的未知消息”,这不会影响消息的可读性。至于您的编码:您的文件是base64编码的还是base64ur编码的?谢谢@ziganotschka它只是base64编码的。是否需要使用base64URLEncoded()??谢谢。是的,它需要进行基本编码,请看这里:我也会尝试。但是,如果我将eml附件内容类型设置为“text/plain”而不是“message/rfc822”,为什么它可以正常工作呢?而且,如果我下载了与content type=“message/rfc822”一起发送的eml附件,则下载的eml文件在outlook中完全可以查看。另一个令人困惑的情况是,当我“显示原件”时,缺少eml文件内容。但是如果我将附件内容类型设置为“text/plain”,我可以在“show original”时看到整个数据。如果这是一个简单的编码案例,下载eml文件将不会太有效,对吗?还是我错了?谢谢。我不熟悉eml文件,但Gmail需要RFC2822格式。请注意,RFC 2822将取代RFC 822(或者换句话说:RFC 822已过时)。谢谢你的回答。。我会调查一下。再次感谢。我很抱歉不能回答这个问题。我能够使用MailApp API并成功发送电子邮件,并且能够查看附带的eml文件。但问题是,它看起来像是由这个域名“maestro.bounces.google.com”发送的。而且,这个bug到现在还没有修复。