KamoCRM

Send large Microsoft 365 messages through an upload session

FixEmailService
Shipped
November 13, 2026 at 8:06 AM UTC
Author
Kamo
Commit
59ebbd3

GraphMailProvider posted the whole MIME base64 to sendMail in one call. A file is base64 twice on that path (inside the MIME, then the MIME itself, ~1.82x), and Graph refuses a request over 4 MB, so about 2.2 MB of attachments was the ceiling; a 3 MB PDF was a ~5.5 MB request. Proven by GraphMailProviderLargeSendTest. Messages over the one-call cap are now drafted from MIME without their files (threading, inline images and our Message-ID kept), each file attached on its own (upload session in 3.75 MiB chunks above 3 MB, up to 150 MB per file), then sent with /send, which files the copy in Sent Items as sendMail did. Drafts use the same path without the send. A failure part-way deletes the half-built draft. Small messages keep the single sendMail call. DL0.1, DL0.2

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing