如何通过代理使用smtplib模块发送邮件?
我在使用Python的smtplib模块时遇到了问题:在工作时,电脑是通过代理连接的。当我运行以下代码时:
server = smtplib.SMTP()
server.connect('smtp.gmail.com:587')
server.login('username','password')
server.sendmail('from', 'to', 'msg')
server.quit()
就会出现这个错误信息:
文件 "C:\Python32\lib\socket.py",第386行,在create_connection中 对于res在getaddrinfo(host, port, 0, SOCK_STREAM)中: socket.gaierror: [Errno 11001] getaddrinfo失败
我觉得这是因为代理的问题,它阻止了连接。 这台电脑可以上网。 我该如何通过代理发送电子邮件呢? ps:(我来自意大利,抱歉我的英语不太好)
2 个回答
0
问题在于你的DNS解析没有正常工作。这个错误就是在告诉你这个情况。
0
下面的代码可以正常运行:
server = smtplib.SMTP_SSL('smtp.gmail.com',port=465)
server.login('username@gmail.com','password')
server.sendmail('from', 'to', 'msg')