【问题标题】:airflow: Email Configuration气流:电子邮件配置
【发布时间】:2021-09-17 11:17:45
【问题描述】:

我正在安排从 Airflow 2.1.1 发送电子邮件的任务。 我已经正确配置了airflow.cfg文件中的smtp参数

smtp_host = mr.my_domain.com
smtp_starttls = False
smtp_ssl = True
smtp_user = email@my_domain.com
smtp_password = ********
smtp_port = 465
smtp_mail_from = email@my_domain.com
smtp_timeout = 30
smtp_retry_limit = 5

如果我从 cli 测试任务,电子邮件会正确发送,但我会收到以下警报消息:

..../lib/python3.6/site-packages/airflow/utils/email.py:101 PendingDeprecationWarning: Fetching SMTP credentials from configuration variables will be deprecated in a future release. Please set credentials using a connection instead.

来自 GUI 的消息是:

INFO - Marking task as FAILED.

所以我正在尝试按照文档中的说明创建连接:

https://airflow.apache.org/docs/apache-airflow/stable/howto/email-config.html

要配置 SMTP 凭据,请创建一个名为 smtp_default 的连接,或选择自定义连接名称并将其设置在 email_conn_id 中。

但在创建新连接时,选项中不存在 SMTP。

希望您能帮帮我,非常感谢您。

【问题讨论】:

    标签: python airflow


    【解决方案1】:

    这个PR 最近更新了有关电子邮件配置的文档。由于您正在查看文档的稳定版本,因此在下一个 Airflow 版本发布之前它不会反映在那里。

    如果您不想将 SMTP 凭据存储在配置或 环境变量,您可以创建一个名为的连接 smtp_default,或选择自定义连接名称并设置 email_conn_id 在配置和存储 SMTP 中使用它的名称 用户名密码在里面。其他 SMTP 设置,如主机、端口等 总是只从配置中获取。连接可以 可以是任何类型(例如“HTTP 连接”)。

    我认为可能让您感到困惑的是PR 中所做的更改添加了:

    # Email connection to use
    
    email_conn_id = smtp_default
    

    to airflow.cfg 这样做是因为有几个可以发送电子邮件的服务(smtp/SES/Sendgrid setc..)需要标准化。

    【讨论】:

      猜你喜欢
      • 2019-01-20
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多