J'ai appris à utiliser la bibliothèque python imaplib pour un projet sur lequel je travaille, mais je vois un comportement qui m'a bloqué. Lorsque j'essaie de faire une recherche avec 'NOT FROM', elle retourne la même chose que 'FROM', comme si le non n'était même pas là. Mon hypothèse est que je ne fais que mettre la commande en erreur, mais j'ai cherché quelques exemples et chacun que j'ai trouvé semble faire comme je suis. J'ai essayé tous les moyens de saisir ce que je peux penser, mais aucun d'entre eux ne semble fonctionner. J'ai vérifié les deux RFC2060, celui imaplib dit qu'il est basé sur et certains des plus récents.Python imaplib search Mot clé 'NOT'
$ python --version
Python 2.7.5+
Est-ce que quelqu'un voit où je suis en train de bousiller ou voit aussi ce problème? Il y a très peu de là-bas sur cette bibliothèque particulière, il semble
EDIT: Je l'ai regardé pour un peu plus loin et il semble être un problème spécifique avec le serveur imap je me connecte à .. après avoir essayé de se connecter sur OpenSSL avec
$ openssl s_client -connect imap.mail.yahoo.com:993 -crlf
et vous connecter et essayer
UID SEARCH FROM "gmail"
UID SEARCH NOT FROM "gmail"
je reçois le même comportement.
Cependant, lorsque je me connecte à un compte gmail
$ openssl s_client -connect imap.gmail.com:993 -crlf
et essayer
UID SEARCH FROM "gmail"
UID SEARCH NOT FROM "gmail"
Je reçois le comportement attendu.
Je suppose que cela est « RESOUDRE », puis
J'ai vérifié votre code, cela fonctionne très bien. – Mortezaipo
Merci! Mais je ne suis pas sûr de ce que vous voulez dire par là, je sais que ça va très bien. Le problème était que NOT FROM "foo" retournait la même chose que FROM "foo". Voulez-vous dire que cela ne s'est pas passé pour vous? (Avez-vous essayé sur yahoo mail? Parce qu'il semble que c'était la racine du problème.) – user3591723
J'ai essayé avec Gmail, avec PAS DE 'gmail' il m'a eu: ('OK', ['21 23 24 25 35 37 38 41 42 ']) et avec FROM' gmail ': (' OK ', ['12 13 14 15 16 17 18 19 20 22 26 27 28 29 30 31 32 33 34 36']) – Mortezaipo