python smtp无代理
问题在哪里?我想用代理列表检查服务器,但代码出错:python smtp无代理,python,python-2.7,Python,Python 2.7,问题在哪里?我想用代理列表检查服务器,但代码出错: \uuuu init\uuuuuuuuuuuuuuuuuuuuu()获得意外的关键字参数“proxies” 如果排除proxy关键字参数,它工作正常 import os, sys, smtplib with open('proxy.txt') as urls: for line in urls: proxies=line.rstrip() file = open('sever.txt', 'r') #
\uuuu init\uuuuuuuuuuuuuuuuuuuuu()获得意外的关键字参数“proxies”
如果排除proxy关键字参数,它工作正常
import os, sys, smtplib
with open('proxy.txt') as urls:
for line in urls:
proxies=line.rstrip()
file = open('sever.txt', 'r') # contains <server>:<user>:<pass>:<port>
for line in file.readlines():
list1 = line.split(':')
try:
server=smtplib.SMTP(list1[0]+':'+list1[3], proxies={"https":proxies})
server.starttls()
server.login(list1[1],list1[2])
server.quit()
with open ("valid.txt", "a") as f:
f.write(str (list1[0]+":"+list1[1]))
except Exception as e:
print e
导入操作系统、系统、smtplib
使用open('proxy.txt')作为URL:
对于URL中的行:
代理=line.rstrip()
file=open('sever.txt','r')#包含:
对于文件.readlines()中的行:
list1=行。拆分(“:”)
尝试:
server=smtplib.SMTP(list1[0]+':'+list1[3],proxies={“https”:proxies})
server.starttls()
server.login(列表1[1],列表1[2])
server.quit()
以open(“valid.txt”,“a”)作为f:
f、 写入(str(list1[0]+“:“+list1[1]))
例外情况除外,如e:
打印e
感谢您提供错误消息,现在已经清楚发生了什么-代理
不是smtplib的有效参数。因此会出现\uuuu init\uuuu()
错误,这意味着它无法使用给定参数初始化对象
如果您希望通过代理发送电子邮件,我建议您通读
使用socks
或任何其他python套接字配置包,可以在实例化SMTP客户端之前设置代理设置
发件人:
现在我有问题了
我的代理列表2行
服务器列表10行
2请求代码停止后:(
在sever.txt服务器内部:user:pass:portit是否引发异常?如果是,异常是什么(请将这些详细信息添加到帖子本身)我对此有点困惑,这是标准的smtlib
库吗?如果是的话,在他们的官方文档中我没有看到proxies
参数:@Karan done你可以看到响应。请看我的回答我如何使用代理列表?以及使用随机选择代理?一个简单、天真的方法是:在你的for
循环中,在每个iter中此外,您可以运行我上面的两个socks
方法,并在每次迭代中在新代理上不断重新包装smtlib模块。停止是什么意思?是否引发异常?(不要吞并异常。您至少应该这样做:将异常作为e:print(e)
#socks.setdefaultproxy(TYPE, ADDR, PORT)
socks.setdefaultproxy(socks.SOCKS5, 'proxy.proxy.com', 8080)
socks.wrapmodule(smtplib)
import os, sys, smtplib
import socks
with open('proxy.txt') as urls:
for line in urls:
proxies=line.rstrip()
try:
socks.setdefaultproxy(socks.HTTP, proxies, 8080)
socks.wrapmodule(smtplib)
file = open('server.txt', 'r')
for line in file.readlines():
list1 = line.split(':')
server=smtplib.SMTP(list1[0]+':'+list1[3])
server.starttls()
server.login(list1[1],list1[2])
server.quit()
print "valid "+proxies+" "+list1[1]
with open ("valid.txt", "a") as f:
f.write(str (list1[0]+":"+list1[1])+'\n')
except:
print "bad "+proxies+" "+list1[1]