使用 Graph API(版本 2.3.2)发送带有混合大小附件(> 4MB)的邮件

Send Mail with mixed sized attachments (> 4MB) using Graph API (version 2.3.2)

我有以下要发送邮件的附件列表

要发送总文件大小不超过 4 MB(1MBPDF、210KBPDF),我可以使用 方法和 要发送大文件 (4MBPDF),我正在使用提供的解决方案

但是,当我尝试使用大文件方法 (Sample code) 一起发送三个文件(1MBPDF、210KBPDF、4MBPDF)时,出现以下错误...

com.microsoft.graph.http.GraphServiceException: Error code: ErrorAttachmentSizeShouldNotBeLessThanMinimumSize Error message: Attachment size must be greater than the minimum size.

POST https://graph.microsoft.com/v1.0/me/messages/AAMkAGNhNWJlNjdkLWNkZTUtNDE1Yy1hYzkxLTkyOWI1M2U3NGQzOABGAAAAAAASIVxVSsS8RI-T3F73mdJZBwANqxyKMlQbSqZO439E21_mAAAAAAEPAAANqxyKMlQbSqZO439E21_mAAAVRY2dAAA=/attachments/microsoft.graph.createUploadSession SdkVersion : graph-java/v2.3.2 Authorization : [PII_REDACTED] {"attachmentItem":{"attachmentType":"file","conten[...]

400 : Bad Request [...]

如果我在实施该方法时犯了任何错误或建议我发送多个大小混合的附件的任何变通方法,请告诉我。

谢谢

以下是我建议您采取的避免任何问题的方法:

  1. 创建 draft email
  2. 通过 add attachment endpoint
  3. 上传任何小于 3MB 的附件
  4. 通过 large upload endpoint
  5. 上传任何大于 3MB 的附件
  6. 发送email endpoint

使用这种方法,而不是尝试在创建电子邮件草稿时上传小附件,当 base64 编码的小附件的总大小超过 Microsoft Graph 上每个请求的最大大小 4MB 时,您将避免随机失败。