python通过代理发送邮件_python smtplib 使用代理发送邮件

背景:部署代码主机安装了hadoop client,为保证数据安全,禁止了主机外网,但是上面的监控程序需要发送外网告警邮件。

技术方案:使用3proxy软件在跳板机开通代理端口,smtplib使用代理发送邮件。

涉及软件:3proxy,socks介绍

socks安装

# 主机没有外网只能通过代理安装,代理IP使用时请自行更换

sudo pip --proxy=192.168.*.*:6667 install PySocks

代码改造

# 注意使用的端口为socks端口

if proxy:

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '192.168.*.*', 6666)

socks.wrapmodule(smtplib)

测试示例(可以结合下面分享的Mail类分析)

# 不使用代理调用代码

mail = Mail(mail_host, mail_user, mail_pass)

mail(mailto_list, subject % (calc_date(date_id, offset), date_id), body, None)

# 执行结果

$ python hdfs_report.py 20170715

[INFO ] [2017-07-15 10:58:36] 初始化Jinjia2模板....

[INFO ] [2017-07-15 10:58:36] 初始化邮箱....

[ERROR] [2017-07-15 10:58:36] [Mail->__init__] --> errmsg:[Errno 101] Network is unreachable

[INFO ] [2017-07-15 10:58:36] 开始发送邮件....

[ERROR] [2017-07-15 10:58

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值