0
我想在python中编写一个简单的邮件检索程序。看起来连接正在建立。但是当我尝试使用用户名进行授权时,我没有收到服务器的回复。谁能告诉我这里发生了什么问题?python openssl问题
import socket, sys
from OpenSSL import SSL
ctx = SSL.Context(SSL.SSLv23_METHOD)
print "Creating socket"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print "done"
ssl = SSL.Connection(ctx, s)
print "Establishing Connection"
ssl.connect(("pop.gmail.com", 995))
print "done"
print "Requesting Documents"
print "done"
try:
buf = ssl.read(4096)
except SSL.ZeroReturnError:
print "1"
sys.stdout.write(buf)
ssl.send("USER username")
try:
buf2 = ssl.recv(4096)
except SSL.ZeroReturnError:
print "2"
sys.stdout.write(buf2)
ssl.send("PASS secret")
try:
buf3 = ssl.read(4096)
except SSL.ZeroReturnError:
print "2"
sys.stdout.write(buf3)
print "connected"
ssl.close()
得到它的字符串,我应该结束我发送到与\ r \ n – tsudot 2010-09-18 18:16:58
服务器字符串你有没有考虑过使用['poplib'] (http://docs.python.org/library/poplib.html)呢? – NullUserException 2010-09-18 18:20:39
如果你找到了解决方案,你应该把它放在一个答案中,如果没有人提出你更喜欢的东西,几天后标记为“最佳答案”。否则,这将保留在没有回答的问题列表中。 (第二个NullUserException的建议是检查poplib,它应该为你节省很多这种低级别的麻烦。) – ssokolow 2010-09-18 18:53:44