如何通过代理发送电子邮件与smtplib模块?
问题描述:
我对python的模块smtplib有问题:在工作中,pc通过代理连接。当我运行代码:如何通过代理发送电子邮件与smtplib模块?
server = smtplib.SMTP()
server.connect('smtp.gmail.com:587')
server.login('username','password')
server.sendmail('from', 'to', 'msg')
server.quit()
出现此错误消息:
File "C:\Python32\lib\socket.py", line 386, in create_connection for res in getaddrinfo(host, port, 0, SOCK_STREAM): socket.gaierror: [Errno 11001] getaddrinfo failed
我认为这是由代理造成的,即阻止连接。 电脑可以在网上冲浪。 如何通过代理发送电子邮件? ps :(我是意大利人,对不起我的“italish”)
答
问题是您的DNS解析不起作用。这就是错误告诉你的。
答
下面的工作:
server = smtplib.SMTP_SSL('smtp.gmail.com',port=465)
server.login('[email protected]','password')
server.sendmail('from', 'to', 'msg')
587是TLS和465是SSL – Neil 2013-02-15 15:42:40