Question

J'essaye de rechercher et de filtrer mes mails imap en utilisant l'imaplib de python.Je rencontre un problème assez étrange avec la commande de recherche, la recherche d'adresses e-mail dans le champ FROM.J'ai le script suivant,

print('search with name')
status, results = con.search(None, '(FROM "Shrikant Sharat")')
if status == 'OK':
    if results[0]:
        mid = results[0].split()[0]
        print('mail id', mid)
        print(con.fetch(mid, '(UID BODY[HEADER.FIELDS (FROM)])'))
    else:
        print('No results yielded')
else:
    print('unable to search', results)

print()
print('search with email')
status, results = con.search(None, '(FROM "shrikantsharat.k@gmail.com")')
if status == 'OK':
    if results[0]:
        mid = results[0].split()[0]
        print('mail id', mid)
        print(con.fetch(mid, '(UID BODY[HEADER.FIELDS (FROM)])'))
    else:
        print('No results yielded')
else:
    print('unable to search', results)

pour lequel, j'obtiens le résultat suivant,

search with name
mail id 2155
('OK', [('2155 (UID 5340 BODY[HEADER.FIELDS (FROM)] {54}', 'From: Shrikant Sharat <shrikantsharat.k@gmail.com>\r\n\r\n'), ' FLAGS (\\Seen))'])

search with email
No results yielded

Pourquoi la deuxième recherche échoue-t-elle?L'adresse e-mail est présente dans le champ From comme indiqué par la recherche précédente.La deuxième recherche aurait dû correspondre à cet e-mail, n'est-ce pas?

N'est-ce pas la manière de rechercher une adresse e-mail dans le champ From?Je m'écarte les cheveux sur celui-ci.Des idées?

Modifier Le cas échéant, j'essaye ceci avec un serveur IMAP exposé par MS Exchange (2007, je pense).

Était-ce utile?

La solution

utilisez ceci comme filtre:

(HEADER FROM "shrikantsharat.k@gmail.com")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top