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

Azure DevOps SendMail API返回204但未收到邮件求助

排查Azure DevOps流水线Send Mail API返回204但无邮件的问题

1. 修正授权头的认证方式

你当前用Basic认证格式处理System_AccessToken,但System_AccessToken属于OAuth 2.0访问令牌,需改用Bearer认证方案。修改header代码:

$header = @{
    "Accept" = "application/json"
    "Authorization" = "Bearer $token"
}

原代码的Basic编码仅适用于个人访问令牌(PAT),不适用于流水线OAuth令牌,这可能导致API返回成功状态但实际未触发邮件发送。

2. 验证流水线令牌的权限

确保流水线对应的服务账户(通常是[组织名] Build Service ([项目名]))在项目中拥有发送邮件权限:

  • 进入项目的项目设置→权限→项目级权限
  • 找到对应Build Service账户
  • 将“发送邮件”权限设置为允许

3. 调整收件人参数格式

请求体中同时指定tfsIds和emailAddresses可能引发冲突,尝试仅保留一种方式,比如只使用邮箱地址:

"to" : {
    "emailAddresses": ["HARD_CODED_MY_EMAIL"]
}

确认收件邮箱是Azure DevOps组织内的已验证成员邮箱,该API仅支持发送给组织内有效用户。

4. 检查邮件拦截情况

  • 查看收件邮箱的垃圾邮件、广告邮件文件夹,确认邮件未被归类
  • 排查企业邮箱防火墙或过滤规则,是否拦截了Azure DevOps发送的邮件

5. 增加日志辅助排查

在代码中添加响应日志,获取更详细的API返回信息:

Write-Host "Response status code: $($response.StatusCode)"
Write-Host "Response headers: $($response.Headers | Out-String)"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:25:22