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

GCP Cloud Composer配置SMTP邮件时仍调用SendGrid报错401如何解决

问题原因及修正方案

你目前仍然调用SendGrid发邮件的核心原因是自定义的email_backend配置未生效,Cloud Composer默认内置的邮件后端就是SendGrid,因此才会返回401未授权报错。按以下步骤修正即可:

1. 修正Airflow配置的设置方式

Cloud Composer环境不支持直接修改airflow.cfg文件,所有自定义配置必须通过GCP控制台的Cloud Composer环境详情页的「Airflow 配置覆盖」功能添加:

  • 新增配置项:节(Section)选择email,键(Key)填写email_backend,值(Value)填写airflow.utils.email.send_email_smtp
  • 补充完整SMTP配置,你之前遗漏了Office365必须的TLS相关配置:
    [smtp]
    smtp_port = 587
    smtp_user = 你的Office365邮箱地址
    smtp_mail_from = 你的Office365邮箱地址
    smtp_password_secret = smtp-password
    smtp_host = smtp.office365.com
    smtp_starttls = True
    smtp_ssl = False
    

2. 修正Secret Manager相关配置

  • 确认Secret Manager中存储SMTP密码的密钥名称为airflow-config-smtp-password,密钥值直接填写你的邮箱密码即可,不需要额外格式
  • 确认你授予「Secret Accessor」角色的服务账号是Cloud Composer的工作负载服务账号,格式为composer-<你的环境ID>@<你的项目ID>.iam.gserviceaccount.com,不要授予给个人账号或其他无关服务账号
  • 如果你没有自定义过Secret Manager后端的前缀配置,不需要额外修改[secrets]节的内容,Cloud Composer默认已经内置了Cloud Secret Manager后端的配置

3. 等待配置生效后测试

修改完配置覆盖后,Cloud Composer会自动触发环境更新,等待环境状态变为「运行中」(绿色对勾标识)后再运行测试DAG,不要在环境更新过程中测试,此时配置还未同步到所有工作节点。

如果上述配置都正确仍然发送失败,检查你的Office365邮箱是否开启了「允许SMTP客户端发送邮件」的权限,部分企业管理员会默认关闭该权限。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:45:03