我想通过hotmail smtp使用python脚本发送电子邮件,但我已连接到代理服务器。
有我的代码,它可以直接连接到互联网,但是它已连接到他不工作的代理服务器。
import smtplib
smtpserver = 'smtp.live.com'
AUTHREQUIRED = 1
smtpuser = 'example@hotmail.fr'
smtppass = 'mypassword'
RECIPIENTS = 'mailto@gmail.com'
SENDER = 'example@hotmail.fr'
mssg = "test message"
s = mssg
server = smtplib.SMTP(smtpserver,587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(smtpuser,smtppass)
server.set_debuglevel(1)
server.sendmail(SENDER, [RECIPIENTS], s)
server.quit()
答案 0 :(得分:5)
您可以使用名为SocksiPy或PySocks的模块完成此操作,该模块是当前维护的分支:
import smtplib
import socks
#socks.setdefaultproxy(TYPE, ADDR, PORT)
socks.setdefaultproxy(socks.SOCKS5, 'proxy.proxy.com', 8080)
socks.wrapmodule(smtplib)
smtpserver = 'smtp.live.com'
AUTHREQUIRED = 1
smtpuser = 'example@hotmail.fr'
smtppass = 'mypassword'
RECIPIENTS = 'mailto@gmail.com'
SENDER = 'example@hotmail.fr'
mssg = "test message"
s = mssg
server = smtplib.SMTP(smtpserver,587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(smtpuser,smtppass)
server.set_debuglevel(1)
server.sendmail(SENDER, [RECIPIENTS], s)
server.quit()
答案 1 :(得分:0)
安装socks模块python。
sudo apt-get install python-socksipy
OR
您也可以使用pip
进行安装pip install PySocks
答案 2 :(得分:0)
如果您的代理是 http代理,则应使用:
socks.setdefaultproxy(socks.HTTP, 'proxy.proxy.com', 8080)
代替socks.SOCKS5