出现这个错误的原因是在Airflow的配置文件中找不到SMTP配置所需的相关部分和密钥。下面是一个解决方法的代码示例:
首先,确保你的Airflow配置文件中有以下SMTP相关配置:
[smtp]
smtp_host =
smtp_starttls = True
smtp_ssl = False
smtp_user =
smtp_password =
smtp_port =
smtp_mail_from = <发件人邮箱>
然后,使用Docker来创建Airflow容器,将这些SMTP配置传递给容器。你可以使用Docker的-e
选项来设置环境变量,将上述配置设置为环境变量。
docker run -e "AIRFLOW__SMTP__SMTP_HOST=" \
-e "AIRFLOW__SMTP__SMTP_STARTTLS=True" \
-e "AIRFLOW__SMTP__SMTP_SSL=False" \
-e "AIRFLOW__SMTP__SMTP_USER=" \
-e "AIRFLOW__SMTP__SMTP_PASSWORD=" \
-e "AIRFLOW__SMTP__SMTP_PORT=" \
-e "AIRFLOW__SMTP__SMTP_MAIL_FROM=<发件人邮箱>" \
airflow_image
在上述代码中,将
、
、
、
和<发件人邮箱>
替换为你的实际SMTP配置。
通过这种方式,你可以在Docker中正确配置Airflow的SMTP,并解决OSError: [Errno 99] 无法分配请求的地址
错误。