最近在使用airflow,对于邮件自动提醒服务,构建了一个如下所示的dag文件,想使用163企业邮箱作为smtp服务,中间走过一些坑,在这里把过程记录下来,避免大家入坑。
测试代码如下
from ail 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",subject="Airflow test",html_content="<h3>Emial</h3>",)
首先在登录自己的163企业邮箱,点击设置->邮箱设置->客户端设置->设置客户端授权密码,点击开启按钮,生成授权密码,我的如下图所示
生成授权码后需保存在某个地方,同时163企业邮箱貌似也会发短信提醒,这样就拿到了授权密码,比如说是:aaaaaa。
接下来去拿smtp的服务地址,具体自己企业的smtp服务地址是什么,需要访问:.html,输入自己企业的域名,比如airflowdemo,获取到对应的smtp服务地址,比如是bbb.qiye.163
获取到以上信息就可以去配置airflow.cfg中的smtp相关配置了。
我的配置如下,其中smtp_host 设置为刚才获取的smtp服务地址:bbb.qiye.163;如果不想使用ssl,可将smtp_ssl设置为False,但同时smtp_port改为25;smtp_user以及smtp_mail_from使用自己的邮箱,smtp_password为刚才获取的授权密码。
smtp_host = bbb.qiye.163
smtp_starttls = False
smtp_ssl = True
smtp_user = xx@airflowdemo
smtp_password = aaaaaa
smtp_port = 465
smtp_mail_from = xx@airflowdemo
smtp_timeout = 30
smtp_retry_limit = 5
做了以上配置,就可以尝试刚才的dag是否能跑通了。
本文发布于:2024-02-03 01:26:40,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170689480047743.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |