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

如何配置Airflow自定义邮件模板?配置后未生效该如何排查

你遇到的配置失效问题,是以下几个遗漏/错误配置项导致的:

  • 参数赋值规则错误

    airflow.cfg 中的 subject_template 和 html_content_template 两个配置项,仅支持传入本地Jinja2模板文件的绝对路径,不支持直接填写模板内容,你当前直接把模板字符串写在配置值里的写法不符合要求,Airflow识别到无效路径后会自动回退到内置默认模板,你看到的注释示例也明确标注了需要传入文件路径。
  • 缺少邮件格式配置

    需要确认airflow.cfg中default_email_mimetype参数值设为html,如果为默认的plain,HTML模板的样式布局也不会生效。
  • 配置修改后未重启服务

    airflow.cfg的修改不会热加载,配置调整后必须重启Airflow的scheduler、worker、webserver所有相关进程,新配置才会被加载生效。
  • 模板文件权限/覆盖问题

    你将模板内容存为单独文件后,需要确保Airflow运行身份的用户有该文件的读取权限;同时要检查对应DAG/任务是否单独配置了自定义邮件回调或模板参数,任务级的配置会覆盖全局airflow.cfg的配置。

正确配置步骤示例

  1. 新建两个模板文件,存放到Airflow可读取的目录下:
  • 主题模板/opt/airflow/templates/email_subject.j2内容:
    Airflow alert: {{ti}}
    
  • 内容模板/opt/airflow/templates/email_alert.html内容:
    Try {{try_number}} out of {{max_tries + 1}}<br>
    Job Name: {{ti.dag_id}}<br>
    Task Id: {{ti.task_id}}<br>
    Exception: {{exception_html}}<br>
    Log: <a href={{ti.log_url}} target="_blank">Link</a><br>
    Host: {{ti.hostname}}<br>
    Log file: {{ti.log_filename}}<br>
    
  1. 修改airflow.cfg对应配置项:
    subject_template = /opt/airflow/templates/email_subject.j2
    html_content_template = /opt/airflow/templates/email_alert.html
    default_email_mimetype = html
    
  2. 重启所有Airflow相关进程即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:54:02