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

GCP Composer Airflow配置邮件发送时遇401未授权错误求助

解决Airflow 1.10.3 + GCP Composer邮件发送401 Unauthorized错误

首先,你的核心问题是邮件后端配置冲突,再加上几处细节错误,咱们一步步拆解修复:

问题根源分析

你的airflow.cfg里同时配置了两套不兼容的邮件发送逻辑:

  • email_backend = airflow.contrib.utils.sendgrid.send_email 指定用SendGrid发送邮件
  • 但你又填写了Gmail的SMTP配置参数,这两套配置互斥,Airflow会优先使用email_backend指定的SendGrid方案,但你没有配置SendGrid的API密钥,直接导致认证失败。

另外,配置里还有明显的拼写错误:smtp_mail_from = myemail@gamil.com 里的gamil.com应该是gmail.com,这个小错误也会加剧认证问题。


解决方案二选一(根据你的需求选择)

方案1:改用Gmail SMTP发送邮件

这是你原本的配置方向,只需修正配置即可:

  1. 切换到SMTP邮件后端
    将email模块的后端改为Airflow默认的SMTP实现:

    [email]
    email_backend = airflow.utils.email.send_email_smtp
    
  2. 修正Gmail SMTP配置
    修正拼写错误,同时适配Gmail的现代认证规则(Gmail不再允许直接使用账号密码,需要先开启两步验证,再生成应用专用密码):

    [smtp]
    smtp_host = smtp.gmail.com
    smtp_starttls = True
    smtp_ssl = False
    smtp_user = 你的完整Gmail邮箱(比如myemail@gmail.com)
    smtp_port = 587
    smtp_password = 你的Gmail应用专用密码(不是普通账号密码)
    smtp_mail_from = 和smtp_user一致的邮箱地址(myemail@gmail.com)
    
  3. 在GCP Composer中应用配置
    Composer不允许直接编辑airflow.cfg,你需要通过环境变量来设置这些参数:

    • 添加环境变量AIRFLOW__EMAIL__EMAIL_BACKEND,值为airflow.utils.email.send_email_smtp
    • 添加AIRFLOW__SMTP__SMTP_USER、AIRFLOW__SMTP__SMTP_PASSWORD、AIRFLOW__SMTP__SMTP_MAIL_FROM,对应上面的正确值

方案2:改用SendGrid发送邮件

如果你确实想使用SendGrid,需要调整配置并提供API密钥:

  1. 保留SendGrid后端配置
    确保email_backend路径正确(Airflow 1.10.3的该路径是有效的):

    [email]
    email_backend = airflow.contrib.utils.sendgrid.send_email
    
  2. 添加SendGrid API密钥
    在GCP Composer的环境变量中新增SENDGRID_API_KEY,值为你在SendGrid平台生成的有效API密钥(这是SendGrid认证的核心,和Gmail密码无关)

  3. 清理无用配置
    既然用SendGrid,[smtp]下的所有配置都可以删除或注释,避免混淆。


额外优化建议

你的DAG代码里html_content的转义字符可以简化,EmailOperator会直接处理HTML内容,无需转义:

email_task = EmailOperator(
    task_id='email_task',
    to="email@gmail.com",  # 这里也注意修正gamil拼写
    subject="test",
    html_content="<h1>Most important heading here</h1>",
    files=None, cc=None, bcc=None, mime_subtype='mixed', mime_charset='us_ascii',
    dag=dag
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 14:49:07