Le module email
de Python est idéal pour analyser les en-têtes. Toutefois, l'en-tête To:
peut avoir plusieurs destinataires, et il peut y avoir plusieurs en-têtes To:
. Alors, comment puis-je séparer chacune des adresses e-mail? Je ne peux pas diviser sur la virgule, puisque la virgule peut être citée. Y a-t-il un moyen de faire cela?Comment extraire plusieurs adresses e-mail à partir d'un en-tête de courrier RFC 2822 en python?
Code de démonstration:
msg="""To: [email protected], "User Two" <[email protected]", "Three, User <[email protected]>
From: [email protected]
Subject: This is a subject
This is the message.
"""
import email
msg822 = email.message_from_string(msg)
for to in msg822.get_all("To"):
print("To:",to)
Sortie courant:
$ python x.py
To: [email protected], "User Two" <[email protected]", "Three, User <[email protected]>
$
Quelle sortie voulez-vous? –
Probablement vous devriez aller avec 'shlex' & Co .. MDA diviser les lignes d'adresses par des guillemets (non cotés) – user3159253
liés: https://docs.python.org/2/library/email.util.html#email.utils. getaddresses –