gpt4 book ai didi

smtp - 从 GCP Composer Airflow 发送电子邮件时出错

转载 作者:行者123 更新时间:2023-12-04 10:36:50 42 4
gpt4 key购买 nike

我正在尝试配置电子邮件但收到以下错误。
运行任务时出现以下错误:-
我在 GCP Composer 中使用带有 Airflow 10.3 版本的 Python3 需要帮助。

我的 Airflow .cfg

[email]  
email_backend = airflow.contrib.utils.sendgrid.send_email

[smtp]
smtp_host = smtp.gmail.com
smtp_starttls = True
smtp_ssl = False
smtp_user = airflow
smtp_port = 587
smtp_password = mypassword
smtp_mail_from = myemail@gamil.com

在我的 dag 文件中,我创建了任务:-
dag.py 文件:-

from airflow.operators.email_operator import EmailOperator

email_task=EmailOperator(task_id='email_task',to="email@gamil.com", subject="test", html_content="<h1>Most important heading here</h1>", files=None, cc=None, bcc=None, mime_subtype='mixed', mime_charset='us_ascii', dag=dag)

获取错误:

ERROR - HTTP Error 401: Unauthorized python_http_client.exceptions.UnauthorizedError: HTTP Error 401: Unauthorize

最佳答案

该错误是授权错误,因此您需要检查是否正确设置了 Sendgrid API key (或密码,如果使用 smtp 服务器)。

根据您的airflow.cfg,在我看来您正在尝试同时使用Sendgrid 和第三方smtp 服务器。

电子邮件标志决定使用哪一个。在这种情况下,标志 email_backend = airflow.contrib.utils.sendgrid.send_email指定您将使用 Sendgrid。

configure Sendgrid作为您的电子邮件服务器,您需要获取您的 SENDGRID_API_KEY并设置 key 和 SENDGRID_MAIL_FROM作为环境变量。

另一方面,如果您want to use another smtp server ,您必须将电子邮件标志更改为 email_backend = airflow.utils.email.send_email_smtp .在这种情况下,您需要覆盖 smtp 用户和密码。

关于smtp - 从 GCP Composer Airflow 发送电子邮件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60136511/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com