【发布时间】:2018-11-14 11:30:36
【问题描述】:
Graph API 有 4MB 的请求限制,所以如果我想发送带有 10MB 附件的电子邮件,我不能使用 FileAttachment 类型。据我了解,推荐的方法是使用ReferenceAttachment,它带有指向已上传到OneDrive 的文件的链接(它确实接受大型有效负载)。但是,当我这样做时,我可以在已发送项目中看到 ReferenceAttachment(并且可以完整下载),但附件不存在于目的地(Gmail 或 Outlook)。
我正在使用此 URL 调用 beta API:
https://graph.microsoft.com/beta/users/USERNAME/microsoft.graph.sendMail
发布的内容是:
{
"saveToSentItems": true,
"message": {
"attachments": [
{
"sourceUrl": "https://100255-my.sharepoint.com/personal/USERNAME/Documents/sent-attachments/largefile.txt_6T7sHv5E",
"permission": "view",
"providerType": "oneDriveConsumer",
"name": "largefile.txt",
"contentType": "text/plain",
"@odata.type": "#microsoft.graph.referenceAttachment"
}
],
"subject": "Test E-Mail",
"toRecipients": [
{
"emailAddress": {
"address": "me@gmail.com"
}
}
]
}
}
如何确保电子邮件收件人收到附件?
编辑:
当我使用providerType: onDriveBusiness 时,我会走得更远。我收到一个无法理解的二进制附件(winmail.dat 或 noname)和主电子邮件,然后是带有链接的辅助电子邮件,要求我在 Microsoft 开一个帐户,以便我可以查看共享文件。第二封邮件的主题是:
USERNAME wants to share the file largefile.txt_6T7sHv5E with you
请注意,这就是 gmail 发生的情况。当我在连接到 Exchange 的 Windows 上使用 Outlook 客户端时,我没有收到附件,也没有收到第二封电子邮件。呸!
真是闲话!我的企业(搜索和救援)不可能接受这个 API,因为电子邮件收件人有明显的障碍!我可以将完整的电子邮件重建为一封没有难以理解的二进制附件且无需在 Microsoft 上创建帐户的电子邮件吗?
【问题讨论】:
-
@ArunV 的评论:感谢您报告此问题,我们将进行调查并回复。此外,我想与您分享我们正在努力支持 Graph API 上的大型附件并计划在今年晚些时候发布的更新。 我已将其复制到此处,因为答案与此有关信息已被版主删除(正确)。
标签: microsoft-graph-api outlook-restapi