У меня есть скрипт на python, использующий imaplib, который подключается к учетной записи Gmail и сортирует электронные письма по тегам «+», найденным в адресе электронной почты. Например: электронные письма, отправленные на myaccount+root.foo.bar@gmail.com, перемещаются в корневой каталог \ foo \ bar.
Моя логика выглядит следующим образом: извлечь теги -> попытаться создать папки -> скопировать сообщение в папку.
Иногда приходит электронное письмо с одинаковыми тегами, но с другим регистром. myaccount+root.FOO.BAR@gmail.com, например, и приводит к следующему выводу:
#Attempting to creating folder 'root/FOO/BAR'
('NO', ['[ALREADYEXISTS] Folder name conflicts with existing folder name. (Failure)'])
#Copying message to folder 'root/FOO/BAR'
('NO', ['[TRYCREATE] No folder root/FOO/BAR (Failure)'])
Таким образом, не удается создать папку, поскольку папка с таким именем уже существует (только в другом регистре), но копирование не выполняется, поскольку явная папка не существует.
Есть ли какой-нибудь умный способ выяснить правильный регистр существующей папки, чтобы я мог переместить сообщение без проблем?
Примечание. Это не так просто, как просто перевести все теги в нижний регистр. Пользователь подключается к учетной записи с помощью почтового клиента и вручную создает папки с любым регистром, который имеет для них смысл в данный момент.