简体   繁体   English

Python-Imap Gmail响应

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM