2016-07-06 3 views
0

Я пытаюсь написать скрипт, который перемещает определенное электронное письмо в архив после получения его текста, однако я искал все места и пробовал множество решений. Я понимаю, что когда сообщение архивировано, все его ярлыки удаляются и отображаются только в папке All Mail.Перейти к архиву Gmail - Python Imaplib

Это мой текущий код, чтобы попытаться удалить любые ярлыки, связанные с сообщением, я считаю, что это должно архивировать сообщение, но, похоже, ничего не делает. При запуске этого кода ошибок нет.

one, two = self.connection.store(msg_id, '-X-GM-LABELS', "\Inbox \Important \Sent \Seen") 

Спасибо!

+0

Попробуйте скобки параметр флагов, и делает его raw string, так что обратная косая черта сохраняется: r "(\ Inbox \ Important \ Sent \ Seen)" – Max

+0

Это дает тот же результат, к сожалению! –

+1

Выдача команды UID MOVE в почтовый ящик «[Gmail]/Вся почта» делает трюк. Вы должны сначала найти это имя почтового ящика, используя LIST, если только вы не делаете это только для одного языка. Я не знаю, как убедить python imaplib выдавать UID MOVE. – arnt

ответ

1

флаг удаления не то же самое, как флаг Trash, так что если вы установите Удалить, он будет переместить его в архив, удалив все лишние ярлыки

self.connection.store(msg_id, '+FLAGS', '\\Deleted') 
Смежные вопросы