【问题标题】:Microsoft Graph: insert a message (mail) to user inboxMicrosoft Graph:向用户收件箱插入消息(邮件)
【发布时间】:2019-06-11 07:47:05
【问题描述】:

我有一个 Microsoft 应用程序(具有 Mail.Read/Write 权限),我需要将邮件(.eml 扩展文件)插入用户收件箱。

这可能吗?我知道使用 Gsuite 可以使用“插入”API 完成,并且想知道 Graph API 是否存在类似的东西。

我不是在谈论向用户发送新邮件或在用户收件箱中插入现有邮件的附件,而是在他的收件箱中插入全新的电子邮件(无需通过 SPF 或发生的任何检查在邮件通常进入最终用户收件箱之前)。

查看 Graph API 文档下的邮件部分并没有太大帮助。

如果这不可能,也许有解决方法?

编辑:似乎最好的选择是使用“发送邮件”API并指定“saveToSentItems”:False..这里唯一的问题是我的应用程序也需要请求 Mail.Send 权限..

谢谢

【问题讨论】:

    标签: microsoft-graph-api


    【解决方案1】:

    您不需要使用发送邮件 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"
            }
        ]
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-24
      相关资源
      最近更新 更多