使用Graph API从共享邮箱发邮件时附件丢失问题求助
问题原因及解决方法
核心原因
你的请求体存在两个关键问题:
- JSON结构嵌套错误:外层
message字段下重复嵌套了一个message子对象,Graph API只会解析内层嵌套的message内容,而附件定义在外层message中,自然不会被识别。 - JSON语法错误:
contentBytes字段末尾缺少逗号,这会导致JSON解析异常,部分内容可能被忽略。
修正后的请求体
将嵌套的message层级扁平化,同时修复语法错误,正确的请求体如下:
{ "saveToSentItems": "true", "message": { "attachments": [{ "@odata.type": "#microsoft.graph.fileAttachment", "name": "data.csv", "contentBytes": "MYFILEINBASE64", "contentType": "text/csv" }], "toRecipients": [{"emailAddress": {"address": "xxx@yyy.be"}}], "subject": "Hello from runtime params", "body": { "contentType": "Text", "content": "This is a test mail body." } } }
额外验证要点
- 确保
contentBytes的值是有效的Base64编码字符串,无换行或多余字符 - 确认已为共享邮箱正确授予
Mail.Send类的权限
内容的提问来源于stack exchange,提问作者J-V-D-A
相关产品推荐
相关产品推荐

