[英]Python - Imap Gmail Response
I am programming a simple IMAP client for gmail. 我正在为gmail编程一个简单的IMAP客户端。 As it is an assignment to use sockets and so on, i cannot use python's imaplib library. 由于这是使用套接字等的任务,因此我无法使用python的imaplib库。 I encountered a problem within this code: 我在这段代码中遇到了一个问题:
def connect(self, server, username, password, port=993):
self.socket.connect((server, port))
response = self.socket.recv(2048)
if response.startswith('NO' or 'BAD'):
return False
print response
# send username
self.sendData('a001 login {0} {1}\n'.format(username, password))
response = self.socket.recv(2048)
if response.startswith('NO' or 'BAD'):
return False
print response
self.sendData('a002 CAPABILITY\n')
response = self.socket.recv(2048)
if response.startswith('NO' or 'BAD'):
print response
return False
print response
return True
Everything works fine, until the second command to be sent. 一切正常,直到发送第二个命令。 I'm not really sure, what i am in now. 我现在不确定我现在在做什么。
Here is sendData which was asked: 这是被询问的sendData:
def sendData(self, command):
lenght = len(command)
totalSendBytes = 0
while (totalSendBytes < lenght):
bytesSend = self.socket.send(command[totalSendBytes:])
if bytesSend <= 0:
return False
totalSendBytes += bytesSend
return True
After launching the program, i get response only to first command : 启动程序后,我仅对第一个命令得到响应:
OK Gimap ready for requests from IPGOESHERE 47if12049394eef.11 确定Gimap已准备就绪,可以接受来自IPGOESHERE 47if12049394eef.11的请求
CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE a001 OK xxx@gmail.com XXX XXX authenticated (Success) 功能IMAP4rev1取消选择IDLE名称空间空格ID XLIST儿童X-GM-EXT-1 UIDPLUS COMPRESS = DEFLATE a001 OK xxx@gmail.com XXX XXX已通过身份验证(成功)
Thank you in advance. 先感谢您。
尝试使用IMAP规范要求的\\ r \\ n。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.