网络编程
位置:首页>> 网络编程>> Python编程>> python3发送邮件需要经过代理服务器的示例代码

python3发送邮件需要经过代理服务器的示例代码

作者:会飞的鸡仔  发布时间:2023-07-27 01:00:44 

标签:python3,发送邮件,代理,服务器

现象:已知,连接的WIFI网络需要通过代理服务器才能连接外网,按照正常的程序无法发送邮件,而直连一个没有代理的网络【如自己的wifi热点】,可以发送邮件。无法发送邮件的提示是:

TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

解决办法:要使用代理,需要用到socket和socks这两个包。socks在python3中不是自带的,所以需要通过pip install PySocks这个模块。

增加如下带代码即可:


import socks
import socket
socks.set_default_proxy(socks.HTTP, '地址', 端口, True, 用户名, 密码)
socket.socket = socks.socksocket

注意:socks的类型,即set_default_proxy的第一个参数,网上很多资料写的都是socks.SOCKS5。如果出现下面这个错误,请检查代理服务的类型,我这里改成socks.HTTP即可正常发送邮件:


socks.GeneralProxyError: Socket error: Connection closed unexpectedly

来源:https://blog.csdn.net/kukukukuwo/article/details/79107103

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com