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

如何使用Microsoft Graph API按邮件头搜索不含指定域名的DKIM-Signature邮件

Microsoft Graph API 筛选DKIM签名不含指定域名邮件的实现方法

你可以通过OData筛选语法直接调用邮件查询接口完成需求,具体如下:

核心请求示例

GET https://graph.microsoft.com/v1.0/me/messages?$filter=internetMessageHeaders/any(header: header/name eq 'DKIM-Signature' and not contains(header/value, 'd=abc.com'))&$select=subject,receivedDateTime

参数说明

  • 接口端点:如果是当前登录用户查询自己的邮件使用/me/messages,如果是管理员查询指定用户邮件使用/users/{用户ID或邮箱}/messages
  • 筛选逻辑:
    • internetMessageHeaders/any(...):遍历邮件的所有互联网消息头,匹配满足条件的头字段
    • header/name eq 'DKIM-Signature':限定仅匹配DKIM签名头
    • not contains(header/value, 'd=abc.com'):排除DKIM签名中d字段为abc.com的邮件,如果你需要匹配整个头字段任意位置出现abc.com的场景,可以去掉d=前缀,改成not contains(header/value, 'abc.com')
  • $select参数:按需指定返回的邮件字段,可根据你的业务需求增删,如果你需要返回完整的DKIM头字段验证结果,可以加上internetMessageHeaders到$select列表中

注意事项

  • 权限要求:委托权限场景需要用户授予Mail.Read或更高权限,应用权限场景需要在Azure AD后台配置Mail.Read.All应用权限并完成管理员同意
  • 分页处理:如果需要拉取大量邮件,可添加$top=500参数指定单次返回的邮件数量,最大支持单次返回1000条,分页时使用响应返回的@odata.nextLink地址拉取下一页数据
  • 搜索性能:如果你的邮箱邮件量极大,建议加上时间范围筛选缩小查询范围,比如添加and receivedDateTime ge 2024-01-01T00:00:00Z到$filter条件中提升查询速度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:00:05