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

如何通过Microsoft Graph实现Outlook邮件Snooze(稍后处理)功能

实现Outlook邮件“稍后处理(Snooze)”功能的正确Graph API方案

要实现Outlook原生的Snooze功能——将邮件移至「稍后处理」文件夹,到指定时间自动回到收件箱并标记为新邮件——仅设置单个扩展属性或普通跟进标记是不够的,需要结合服务器端提醒配置、扩展属性设置和文件夹移动操作三步完成。

问题分析

你之前尝试的两种方式存在关键缺失:

  • 仅添加SystemTime 0xf07属性:这只是存储了Snooze时间,但没有触发Exchange服务器的自动移回逻辑,也没有将邮件放到对应的Snooze文件夹。
  • 设置startDateTime/dueDateTime:这是任务跟进的时间参数,并非触发Snooze提醒的参数,Outlook不会以此作为自动移回的依据。

完整解决方案步骤

1. 获取「稍后处理」文件夹ID

首先需要找到Outlook自动创建的Snooze文件夹(中文名称为「稍后处理」,英文为「Snooze」),通过以下请求查询:

GET https://graph.microsoft.com/v1.0/me/mailFolders?$filter=displayName eq '稍后处理'

返回结果中的id字段即为目标文件夹ID,后续移动邮件时需要用到。

2. 配置邮件的Snooze属性与提醒

通过PATCH请求设置邮件的提醒时间、Snooze扩展属性,同时标记提醒已启用:

PATCH https://graph.microsoft.com/v1.0/me/mailfolders/inbox/messages/{你的邮件ID}
Content-Type: application/json

{
    "flag": {
        "flagStatus": "flagged",
        "reminderDateTime": {
            "dateTime": "2024-04-26T09:45:00Z", // 1小时后的UTC时间
            "timeZone": "UTC"
        }
    },
    "singleValueExtendedProperties": [
        {
            "id": "SystemTime 0xf07",
            "value": "2024-04-26T09:45:00Z" // 与reminderDateTime保持一致
        },
        {
            "id": "Integer 0x0E07",
            "value": "16384" // 标记邮件已设置提醒
        }
    ]
}
  • reminderDateTime是触发服务器自动操作的核心参数,必须与Snooze时间一致。
  • 0x0E07是邮件的MessageFlags属性,值16384对应mfReminderSet,告知Outlook邮件已启用提醒。

3. 将邮件移动到「稍后处理」文件夹

完成属性配置后,通过move操作将邮件移入Snooze文件夹:

POST https://graph.microsoft.com/v1.0/me/messages/{你的邮件ID}/move
Content-Type: application/json

{
    "destinationId": "{步骤1获取的Snooze文件夹ID}"
}

验证效果

完成以上操作后,Exchange服务器会在指定的时间自动:

  1. 将邮件从「稍后处理」文件夹移回收件箱
  2. 将邮件标记为未读(显示为新邮件)
  3. 触发Outlook的提醒通知

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 22:36:27