Apache Airflow 是一个用于创建、调度和监控工作流的开源平台。它允许用户通过有向无环图(DAG)来定义任务依赖关系,并通过执行器(如 Celery、Kubernetes 等)来运行这些任务。SMTP(Simple Mail Transfer Protocol)是一种用于发送电子邮件的协议。
在 Airflow 上连接到 SMTP 主机时,连接被拒绝。
airflow.cfg
)中正确配置了 SMTP 服务器的地址和端口。airflow.cfg
)中正确配置了 SMTP 服务器的地址和端口。ping
或 telnet
命令检查 Airflow 服务器是否能够访问 SMTP 服务器。ping
或 telnet
命令检查 Airflow 服务器是否能够访问 SMTP 服务器。sendmail
或 Postman
)来测试 SMTP 服务器的连接。以下是一个简单的 Airflow DAG 示例,展示了如何配置 SMTP 发送邮件:
from airflow import DAG
from airflow.operators.email_operator import EmailOperator
from datetime import datetime
default_args = {
'owner': 'airflow',
'start_date': datetime(2023, 1, 1),
}
dag = DAG(
'smtp_example',
default_args=default_args,
schedule_interval='@daily',
)
email_task = EmailOperator(
task_id='send_email',
to='recipient@example.com',
subject='Test Email from Airflow',
html_content='<h1>This is a test email</h1>',
dag=dag,
)
email_task
通过以上步骤,您应该能够诊断并解决在 Airflow 上连接到 SMTP 主机时连接被拒绝的问题。
领取专属 10元无门槛券
手把手带您无忧上云