python - 如何在 Airflow 中通过 http 代理发送 smtp?
问题描述
我正在尝试发送有关 Airflow 失败的电子邮件。Airflow 在离线服务器中,它需要到 smtp 服务器的转发代理,但没有这样的配置。我已经在 中设置了 HTTP_PROXY、HTTPS_PROXY ~/.bashrc
,但无法正常工作
# ~/.bashrc
...
proxy=http://hh.hh.hh.hh:pppp
export HTTP_PROXY=$proxy
export HTTPS_PROXY=$proxy
export http_proxy=$proxy
export https_proxy=$proxy
[smtp]
smtp_host = smtp.office365.com
smtp_starttls = True
...
# no such configuration!
# proxy = hh.hh.hh.hh:pppp
在 Airflow 的源代码中,它似乎使用smtplib
,所以我尝试了
import smtplib
import socks
proxy_host = 'hh.hh.hh.hh'
proxy_port = pppp
socks.setdefaultproxy(socks.PROXY_TYPE_HTTP, proxy_host, proxy_port)
socks.wrapmodule(smtplib)
# -> airflow webserver get ImportError
我如何在这里设置转发代理?
解决方案
推荐阅读
- apache-spark - Spark Core - 嵌入其他应用程序
- c# - 使用 Bazel 将二进制文件编译为多个版本的 .NET Framework
- swift - Swift 中的 Dictionary for Search 应用程序的可行替代方案是什么?
- reactjs - firebase.initializeApp(选项需要一个有效的配置对象
- python - Python logger `RotatingFileHandler` 在 Windows 下失败
- python - 使用另一个列表中的部分匹配对列表进行排序
- python - 关于过滤与其他列表对应的列表项的建议
- python - Base64 数据类型
- excel - 从excel vba用户表单组合框中选定行的列中提取数据
- swift - 如何使单元格及其元素看起来是灰色的?