Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Получить почтовое сообщение по Message-ID


Автор: tishaishii 4.8.2013, 08:53
Доброе утро!

Создаю сообщение и тут же пытаюсь получить его:
Код
import imaplib
import email.parser
import base64

c = imaplib.IMAP4_SSL( host = "imap.yandex.ru" , port = "993" )
c.login( "login" , "pass" )
c.select( )

msg = email.message.Message( )
msg.set_payload( str( base64.b64encode( b"Test" ) ) )
data = msg.as_string( ).encode( "utf-8" )

status , data = c.append( message = data , flags = None , date_time = None )

msg_id = data[ 0 ].split( )[ 1 ]

print( c.fetch( msg_id , "(BODY[HEADER.FIELDS (MESSAGE-ID)])" ) )


Выводит:
Код
('OK', [None])


То есть, статус "OK", а тела нет. Однако, через веб-интерфейс почты видно, что сообщение создалось.
Как получить сообщение по Message-ID?

Автор: tishaishii 4.8.2013, 10:43
Удалось найти способ:
Код
status , result = c.uid( "FETCH" , id , "(RFC822)" )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)