Неправильный ответ на команду IMAP «КОПИРОВАТЬ UID» в imaplib python?

#python #imap #imaplib

#python #imap #imaplib

Вопрос:

вот моя цель:
1. Я использую подключение telnet для копирования одного электронного письма из папки «Входящие» в архив:
. uid copy 1102 "[Gmail]/All Mail"
. OK [COPYUID 646471928 1102 1237] (Success)

2. Та же учетная запись, копирующая другое сообщение в архив:
… создание экземпляра IMAP4_SLL, вход в систему и т.д…
res = mserver.uid("copy", "1107", "[Gmail]/All Mail")
print res

в выводе я получил:
('OK', [None])

Итак, кто не прав? Мне нужен новый UID для сообщения, которое было только что скопировано. Спасибо за ваше внимание.

Комментарии:

1. Я рекомендую использовать библиотеку IMAPClient , чтобы упростить вам жизнь 🙂

Ответ №1:

Это не неправильный ответ. В стандарте IMAP не указано, что UID нового сообщения должен быть возвращен командой КОПИРОВАНИЯ. Однако в нем указано, что в новом сообщении должны быть сохранены дата и флаги, поэтому вы можете написать некоторую логику для поиска новой копии в новой папке.

Комментарии:

1. Спасибо. Итак, такой пользовательский ответ возвращается только по IMAP gmail?