airflow配置163企业邮箱

背景介绍

最近在使用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="xx@airflowdemo.com",
        subject="Airflow test",
        html_content="<h3>Emial</h3>",
    )

获取163的smtp配置信息

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

接下来去拿smtp的服务地址,具体自己企业的smtp服务地址是什么,需要访问:https://qiye.163.com/help/client-profile.html,输入自己企业的域名,比如airflowdemo,获取到对应的smtp服务地址,比如是bbb.qiye.163.com
获取smtp地址
获取到以上信息就可以去配置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 = xx@airflowdemo.com
smtp_password = aaaaaa
smtp_port = 465
smtp_mail_from = xx@airflowdemo.com
smtp_timeout = 30
smtp_retry_limit = 5

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值