You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Graph API直接插入邮件至收件箱(解决草稿显示问题)

解决Graph API插入收件箱邮件仍显示为草稿的问题

你遇到的问题根源在于仅设置isDraft: false不足以让Exchange/Outlook客户端将邮件识别为已发送状态,还需要补充关键的元数据字段。

核心修复要点

  • 必须添加sentDateTime字段:指定邮件的发送时间(需符合ISO 8601格式,例如"2024-05-20T14:30:00Z"),这是客户端判断邮件是否已发送的核心标识。
  • 保留isDraft: false:确保该字段明确标记邮件非草稿状态。
  • 可选补充receivedDateTime:设置与sentDateTime一致或稍晚的时间,模拟邮件接收时间,让邮件属性更贴合常规收件箱邮件。
  • 可选设置isRead:按需控制邮件是否显示为已读状态。

修改后的请求体示例

{
    "body": {
        "contentType": "html",
        "content": "<a href='https://google.com'>test</a>"
    },
    "sender": {
        "emailAddress": {
            "name": "test",
            "address": "someuser@test2.com"
        }
    },
    "from": {
        "emailAddress": {
            "name": "test",
            "address": "someuser@test2.com"
        }
    },
    "toRecipients": [
        {
            "emailAddress": {
                "name": "Some User",
                "address": "someuser@test.com"
            }
        }
    ],
    "isDraft": false,
    "sentDateTime": "2024-05-20T14:30:00Z",
    "receivedDateTime": "2024-05-20T14:30:05Z",
    "isRead": false
}

原理说明

Outlook等客户端判断邮件状态时,不仅依赖isDraft字段,还会校验sentDateTime是否存在。如果缺少该字段,即使isDraft设为false,客户端仍会将其判定为未完成发送的草稿。补充这些元数据后,邮件就能正常显示为已发送的收件箱邮件。

内容的提问来源于stack exchange,提问作者BigDataFiles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 15:00:14