airflow配置163企业邮箱

airflow配置163企业邮箱

  • 背景介绍
  • 获取163的smtp配置信息
  • airflow.cfg修改smtp配置

背景介绍

最近在使用airflow,对于邮件自动提醒服务,构建了一个如下所示的dag文件,想使用163企业邮箱作为smtp服务,中间走过一些坑,在这里把过程记录下来,避免大家入坑。

  • airflow版本:2.1.4
  • 163企业的邮箱域名在这里假设为airflowdemo,也就是个人邮箱一般会分配为XX.airflowdemo.com。

测试代码如下

from airflow.operators.email import EmailOperator
with DAG(
    dag_id = 'test_email',
    default_args=default_args,
    description='A simple test emial DAG',
    schedule_interval="0 5 * * *",
    start_date=days_ago(1),
    tags=['example']
) as dag:
    dowload_task = EmailOperator(
        task_id = "test_emial",
        to="[email protected]",
        subject="Airflow test",
        html_content="

Emial

"
, )

获取163的smtp配置信息

首先在登录自己的163企业邮箱,点击设置->邮箱设置->客户端设置->设置客户端授权密码,点击开启按钮,生成授权密码,我的如下图所示
airflow配置163企业邮箱_第1张图片
生成授权码后需保存在某个地方,同时163企业邮箱貌似也会发短信提醒,这样就拿到了授权密码,比如说是:aaaaaa。

接下来去拿smtp的服务地址,具体自己企业的smtp服务地址是什么,需要访问:https://qiye.163.com/help/client-profile.html,输入自己企业的域名,比如airflowdemo,获取到对应的smtp服务地址,比如是bbb.qiye.163.com
airflow配置163企业邮箱_第2张图片
获取到以上信息就可以去配置airflow.cfg中的smtp相关配置了。

airflow.cfg修改smtp配置

我的配置如下,其中smtp_host 设置为刚才获取的smtp服务地址:bbb.qiye.163.com;如果不想使用ssl,可将smtp_ssl设置为False,但同时smtp_port改为25;smtp_user以及smtp_mail_from使用自己的邮箱,smtp_password为刚才获取的授权密码。

smtp_host = bbb.qiye.163.com
smtp_starttls = False
smtp_ssl = True
smtp_user = [email protected]
smtp_password = aaaaaa
smtp_port = 465
smtp_mail_from = [email protected]
smtp_timeout = 30
smtp_retry_limit = 5

做了以上配置,就可以尝试刚才的dag是否能跑通了。

你可能感兴趣的:(airflow,airflow)