本文主要是介绍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="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
获取到以上信息就可以去配置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是否能跑通了。
这篇关于airflow配置163企业邮箱的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!