microsoft-graph-api - Microsoft Graph:向用户收件箱插入消息(邮件)
问题描述
我有一个 Microsoft 应用程序(具有 Mail.Read/Write 权限),我需要将邮件(.eml 扩展名文件)插入用户收件箱。
那可能吗?我知道使用 Gsuite 可以使用“插入”API 完成,并且想知道 Graph API 是否存在类似的东西。
我不是在谈论向用户发送新邮件或在用户收件箱中插入现有邮件的附件,而是在他的收件箱中插入全新的电子邮件(无需通过 SPF 或通常在邮件之前进行的任何检查进入最终用户的收件箱)。
查看 Graph API 文档下的 Mail 部分并没有太大帮助。
如果那不可能,也许有解决方法?
编辑:似乎最好的选择是使用“发送邮件”API并指定“saveToSentItems”:False ..这里唯一的问题是我的应用程序也需要请求Mail.Send权限。
谢谢
解决方案
您不需要使用发送邮件 api,因为您所做的只是在邮箱中创建一个项目。如果您希望它显示为已发送邮件(而不是草稿),则需要设置 PidTagMessageFlags 扩展属性(与 EWS https://docs.microsoft.com/en-us/exchange/client中的相同) -developer/exchange-web-services/how-to-import-items-by-using-ews-in-exchange)。此外,如果您希望它在过去发送时出现,则需要设置的其他扩展属性很少。例如
{
"Subject": "test1234",
"Sender": {
"EmailAddress": {
"Name": "blah",
"Address": "blah@blah.com"
}
},
"Body": {
"ContentType": "HTML",
"Content": "123Body"
},
"SingleValueExtendedProperties": [
{
"PropertyId": "Integer 0x0E07",
"Value": "1"
},
{
"PropertyId": "SystemTime 0x0039",
"Value": "2019-06-12T10:10:47.2048+10:00"
},
{
"PropertyId": "SystemTime 0x0E06",
"Value": "2019-06-12T10:10:47.2048+10:00"
}
]
}
推荐阅读
- java - 在 Android 中分别选择两个图像
- java - 共享可变状态有什么问题?
- c# - 使用 PublicClientApplication 获取身份验证令牌时无法使用公司帐户登录
- python - 原始异常文本是:“int”对象没有属性“产品”
- spring - 初始化 SpringBoot 应用程序时出错。我有一个 SpringBoot 应用程序。2.1.5.RELEASE 使用Kakfa
- python - promt之前如何监控孩子的输出?
- airflow - 气流不运行任务
- c++ - memcpy 是否取决于源指针和目标指针的类型?
- android - Gradle 无法使用 OBJECT 库构建 CMake 项目,因为它需要一个输出文件
- typescript - 如何解决 Visual Studio 2019 中“只能使用 'esModuleInterop' 标志默认导入”?