这个问题通常是由于SMTP服务器配置错误或防火墙阻止了连接。首先,请确保您的SMTP服务器配置正确。如果您已经确认配置无误,请检查防火墙。如果您的防火墙正在阻止SMTP流量,请添加一条规则以允许SMTP流量通过。
以下是Airflow - EmailOperator的示例代码:
from airflow.operators.email_operator import EmailOperator
send_mail = EmailOperator(
task_id='send_mail',
to='example@example.com',
subject='Airflow - EmailOperator Test',
html_content='This is a test email sent from Airflow
',
dag=dag
)
如果您的SMTP服务器需要身份验证,请使用以下代码:
from airflow.operators.email_operator import EmailOperator
send_mail = EmailOperator(
task_id='send_mail',
to='example@example.com',
subject='Airflow - EmailOperator Test',
html_content='This is a test email sent from Airflow
',
dag=dag,
smtp_conn_id='smtp_default',
username='your_smtp_username',
password='your_smtp_password',
starttls=False
)
请注意,在此示例中,我们使用名为“smtp_default”的SMTP连接ID,您应该将其替换为您的实际SMTP连接ID。如果您的SMTP服务器需要TLS,请将starttls参数设置为True。
希望这可以帮助您解决Airflow - EmailOperator无法工作的问题。