无法使用 Office 365 REST 发送大邮件 API

Can not send large message with Office 365 REST API

我正在使用 JavaScript 发出 POST 请求以使用 xhr 创建到 Office 365 的消息(或使用 Faraday gem 发出 POST 请求 - Ruby on Rails)。我的流程是将文件编码为 base64 并创建一个 JSON 包含所有附件(已编码)然后 POST 到 https://outlook.office.com/api/v1.0/me/sendmail.

var endpointUrl = "https://outlook.office.com/api/v1.0/me/sendmail";
    var xhr = new XMLHttpRequest();
    xhr.open("POST", endpointUrl);
    xhr.setRequestHeader("Authorization", "Bearer " + token);
    xhr.setRequestHeader("content-type", "application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8");
    xhr.send(JSON.stringify(result));
}

此代码可以发送带有大约 22,5MB 附件的消息,但是如果所有附件都超过 23MB,我会收到 404 错误响应并且 cosole 写:

XMLHttpRequest cannot load https://outlook.office.com/api/v1.0/me/sendmail. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 404.


Alr 将 message size restrictions 设置为最大值 153600 有人可以帮我吗?谢谢!

看起来您确实 运行 限制了负载的最大大小。当前限制为 37 MB,并通过 outlook.office.com 强制执行下限。我们已经打开了一个工作项目来增加此限制以允许我们可以在 Office 365 中存储的最大附件大小 (150 MB),但是您需要等待该工作完成才能发送您尝试发送的大小的邮件发送。