Recherche IMAP d'adresse e-mail dans le champ de
-
28-10-2019 - |
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).
La solution
utilisez ceci comme filtre:
(HEADER FROM "shrikantsharat.k@gmail.com")