Какие название у папок у почты и как к ним обратится в imbox python?
Документация https://github.com/martinrusev/imbox упрощающая библиотека для работы imaplib
# pip install icecream
import folder as folder
from icecream import ic
from imbox import Imbox
print = ic
with Imbox('imap.yandex.ru',
username='',
password='',
ssl=True,
ssl_context=None,
starttls=False) as imbox:
# В данном коде пытаюсь просто обратится к элементу списка папок
# полученных через inbox с помощью функции приведенной в их документации.
# Get all folders
status, folders_with_additional_info = imbox.folders()
folders = folders_with_additional_info
print(folders)
# Messages from a specific folder
messages_in_folder_social = imbox.messages(folder=folders[0]) # Вот здесь обращаюсь к элементу списка. так понимаю это надо делать как то по другому. то ли по названию, но какие у них названия так и не понял. на почте в браузере кириллицей просто "сентябрь" например написано, но на такую строку тоже ругается.
for uid, message in messages_in_folder_social:
fromm = message.sent_from
print(fromm)
Пытаюсь получить названия папок почты. но принтует он мне их в каком то странном виде. пробовал декодировать думал на кириллицу ругается, не помогло. Part of print(folders):
ic| main.py:18 in <module>
folders: [b'(\\HasNoChildren \\Unmarked \\Sent) "|" "&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-'
b'"',
b'(\\HasNoChildren \\Unmarked) "|" "&BB4EQgQ,BEAEMAQyBDsENQQ9BD4- &BDgENw- 1'
b'&BCE-"',
Error:
Traceback (most recent call last):
File "C:\Users\Константин Петров\Google Диск\MAIL\main.py", line 22, in <module>
messages_in_folder_social = imbox.messages(folder=folders[0])
File "C:\Users\Константин Петров\Google Диск\MAIL\venv\lib\site-packages\imbox\imbox.py", line 91, in messages
self.connection.select(
File "C:\Users\Константин Петров\AppData\Local\Programs\Python\Python39\lib\imaplib.py", line 756, in select
typ, dat = self._simple_command(name, mailbox)
File "C:\Users\Константин Петров\AppData\Local\Programs\Python\Python39\lib\imaplib.py", line 1230, in _simple_command
return self._command_complete(name, self._command(name, *args))
File "C:\Users\Константин Петров\AppData\Local\Programs\Python\Python39\lib\imaplib.py", line 1055, in _command_complete
raise self.error('%s command error: %s %s' % (name, typ, data))
imaplib.error: SELECT command error: BAD [b'Command syntax error. sc=ETJkLt2DpW21_011229_2-a1d8e9165a53']
Ответы (1 шт):
Автор решения: Konstantin Petrov
→ Ссылка
Достал папки с помощью другой библиотеки https://pypi.org/project/imap-tools/
from imap_tools import MailBox, AND
mailbox = MailBox('imap.yandex.ru')
mailbox.login('mail', 'password')
print(mailbox.folder.list())