Question

J'ai un script python utilisant imaplib qui se connecte à un compte e-mails gmail et trie en fonction des tags « + » trouvé dans l'adresse e-mail. Par exemple:. E-mails envoyés à myaccount+root.foo.bar@gmail.com get déplacé à la racine \ foo \ bar

Ma logique est la suivante:. Balises extrait -> tentent de créer des dossiers -> message à copier le dossier

un courriel Parfois viendra avec les mêmes balises, mais différent boîtier. myaccount+root.FOO.BAR@gmail.com, par exemple, et conduit à cette sortie:

#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)'])

Il ne parvient pas à créer le dossier, car un dossier avec le même nom existe déjà (juste avec le cas différent), mais la copie échoue parce que le dossier explicite n'existe pas.

Y at-il une certaine façon intelligente que je peux comprendre le cas correct du dossier existant afin que je puisse passer le message sans problème?

Note: Ce n'est pas aussi facile que de forcer tous les tags en minuscules. Un utilisateur se connecte au compte avec un client de messagerie et ocassioanlly fait manuellement les dossiers avec ce boîtier est logique pour eux à l'époque.

Était-ce utile?

La solution

Google se plaint que le dossier existe déjà, mais donne alors une erreur lorsque vous essayez de déplacer quelque chose en elle? Terrific.

IMAP a une commande "LIST" à la liste des boîtes aux lettres disponibles (Dossiers):

http://tools.ietf.org/html/rfc3501#section- 6.3.8

Comment l'accès qui dépend de votre bibliothèque client IMAP. Voici quelques exemples .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top