2015-06-22 88 views
0

我想在下面打开tor代理的同时发送电子邮件是一段代码。如果我分别运行每个部件,他们将工作(发送并发送电子邮件)。使用smtplib和tor发送电子邮件

import socks 
import socket 
import smtplib 

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS4, '127.0.0.1', 9050, True) 
socket.socket = socks.socksocket 

FROM = "[email protected]" 
TO = ["[email protected]"] 
SUBJECT = "SB" 
TEXT = "test" 
message = """\ 
From: %s 
To: %s 
Subject: %s 
%s 
""" % (FROM, ", ".join(TO), SUBJECT, TEXT) 
server = smtplib.SMTP('localhost') 
server.sendmail(FROM, TO, message) 
server.quit() 

当我加入他们在一起,我得到以下错误:

Traceback (most recent call last): 
    File "em.py", line 20, in <module> 
    server = smtplib.SMTP('localhost') 
    File "/usr/lib/python2.7/smtplib.py", line 249, in __init__ 
    (code, msg) = self.connect(host, port) 
    File "/usr/lib/python2.7/smtplib.py", line 309, in connect 
    self.sock = self._get_socket(host, port, self.timeout) 
    File "/usr/lib/python2.7/smtplib.py", line 284, in _get_socket 
    return socket.create_connection((port, host), timeout) 
    File "/usr/lib/python2.7/socket.py", line 562, in create_connection 
    sock.connect(sa) 
    File "/usr/local/lib/python2.7/dist-packages/socks.py", line 459, in connect 
    dest_addr, dest_port = dest_pair 
ValueError: too many values to unpack 

任何帮助将apprecaited

回答

0

你连接到本地主机;但如果你正在通过TOR代理,你基本上会要求tor-exit连接到它在本地主机上运行的smtp服务器。这是行不通的:

  • 最TOR-退出不运行SMTP服务器
  • TOR将不允许退出的退出本身

你会怎么想到这个工作?