python2.7 imaplib зависает. пожалуйста мне - PullRequest
0 голосов
/ 22 мая 2019

Я использую python2.7 imaplib.При получении сообщения электронной почты с помощью команды fetch моя программа переходит в состояние ожидания.Происходит только на определенном сервере.

Я нашел раздел Ожидание в коде

Я думаю, эта проблема похожа на crlf или EOL в связи с сокетом tcp

Моя среда разработки Python:2.7 Версия Imaplib: 2.58 ОС: ubuntu 14.04 lts

Спасибо

моя команда imap

typ, eml = self.M.fetch(num, "(RFC822)")

log (imaplib debug = 4)

/*my request*/
38:46.59 > CCOL12 UID FETCH 2 (RFC822) 

/*server response*/
38:46.60 < * 1 FETCH (UID 2 RFC822 {1627}
38:46.60 read literal size 1627



Секция ожидания в коде (imaplib.py)

self.file.read (размер)

self.file.readline (_MAXLINE +1)

    def open(self, host = '', port = IMAP4_PORT):
        """Setup connection to remote server on "host:port"
            (default: localhost:standard IMAP4 port).
        This connection will be used by the routines:
            read, readline, send, shutdown.
        """
        self.host = host
        self.port = port
        self.sock = socket.create_connection((host, port))
        self.file = self.sock.makefile('rb')

    def read(self, size):
        """Read 'size' bytes from remote."""
        return self.file.read(size)

    def readline(self):
        """Read line from remote."""
        line = self.file.readline(_MAXLINE + 1)
        if len(line) > _MAXLINE:
            raise self.error("got more than %d bytes" % _MAXLINE)
        return line


Секция ожидания в коде (socket.py)

self._sock.recv (слева)

def read(self, size=-1):
    ...
    data = self._sock.recv(left)



tcpflow имеет значение

211.235.032.125.00143-192.168.020.054.46041: * 1 FETCH (UID 2 RFC822 {1627}

PHA+67Cb7J2AIOuplOyLnOyngCDthYzsiqTtirggMjwvcD48cD48YnI+PC9wPjxpbWcgc3Jj PSJodHRwOi8vY29ycC5uaWJ0di5jby5rcjo4MC9tYWlsd3JpdGUuZHM/YWN0PXNpZ25Mb2Fk JmFtcDtkb21haW5OYW1lPW5pYnR2LmNvLmtyJmFtcDt1c2VySWR4PTQ1MiZhbXA7aW1hZ2VJ ZHg9MyI+PHA+PGJyPjwvcD4NCjxpbWcgc3JjPSdodHRwOi8vY29ycC5uaWJ0di5jby5rcjo4 MC9oaXN0b3J5U2VudC5kcz9hY3Q9Y29uZmlybSZzZW5kZXI9YzNSaGNteHZkbVU0TTBCdWFX SjBkaTVqYnk1cmNnJTNkJTNkJnJlY2VpdmVyPWRHVnpkRUJ1YVdKMGRpNWpieTVyY2clM2Ql M2Qmc3ViamVjdD02N0NiN0oyQUlPdXBsT3lMbk95bmdDRHRoWXpzaXFUdGlyZ2dNZyUzZCUz ZCZtc2dpZD1Oalk1TVRnME1qRXlPRFE0TURNeE5ESXdOZyUzZCUzZCcgd2lkdGg9JzAnIGhl aWdodD0nMCc+DQo=

------=_Part_19149_29258794.1558065910484-- ) CCOL12 OK UID FETCH completed
...