【问题标题】:Accessing gmail through imaplib with proxy authentification使用代理身份验证通过 imaplib 访问 gmail
【发布时间】:2016-04-18 09:48:25
【问题描述】:

我快疯了。我尝试了一种解决方案来通过代理:

class SocksIMAP4(IMAP4_SSL):
    def open(self, host, port):

            self.host = host
            self.port = port
            self.sock = socksocket()
            self.sock.set_proxy(PROXY_TYPE_SOCKS5, 'tmg-array.co.vectis.local', 8080, True, 'login',
                                'pass~')
            self.sock.connect((host, port))
            self.file = self.sock.makefile('rb')

然后

imap_server = SocksIMAP4('imap.gmail.com', 993)

但是什么也没发生。过程似乎是永恒的。

它不会抛出错误,程序就像在连接阶段被冻结。

有什么建议吗?

编辑

我的导入是

import email
from imaplib import IMAP4_SSL, IMAP4_SSL_PORT, IMAP4, IMAP4_PORT
import re
import socks
import socket
from socks import socksocket, PROXY_TYPE_SOCKS4, PROXY_TYPE_SOCKS5, PROXY_TYPE_HTTP
import smtplib

【问题讨论】:

  • 你能在你的代码中包含你的导入行吗?例如import imaplib

标签: python sockets imaplib


【解决方案1】:

我知道已经晚了,但我只想为不知道的人发布一个答案。

用这些行替换函数open 的最后三行

self.sock = socket.create_connection((host, port), PROXY_TYPE_HTTP, "127.0.0.1", 8118)
self.sslobj = ssl.wrap_socket(self.sock, self.keyfile, self.certfile)
self.file = self.sslobj.makefile('rb')

【讨论】:

  • self.sockssl.wrap_socket 包裹时,它会被detach()'ed 并且不再工作
猜你喜欢
  • 2013-07-31
  • 2010-09-26
  • 1970-01-01
  • 2016-11-12
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
  • 2012-03-11
  • 1970-01-01
相关资源
最近更新 更多