J'utilise python pour ouvrir un e-mail sur le serveur (POP3). Chaque email a une pièce jointe qui est un email transmis lui-même.Extraction de l'en-tête To: à partir d'une pièce jointe d'un e-mail
J'ai besoin d'obtenir l'adresse "To:" hors de la pièce jointe. J'utilise python pour essayer de m'aider à apprendre la langue et je ne suis pas encore très bon!
Le code que j'ai est déjà ce
import poplib, email, mimetypes
oPop = poplib.POP3('xx.xxx.xx.xx')
oPop.user('[email protected]')
oPop.pass_('xxxxxx')
(iNumMessages, iTotalSize) = oPop.stat()
for thisNum in range(1, iNumMessages + 1):
(server_msg, body, octets) = oPop.retr(thisNum)
sMail = "\n".join(body)
oMsg = email.message_from_string(sMail)
# now what ??
Je comprends que j'ai l'e-mail comme une instance de la classe e-mail, mais je ne sais pas comment se rendre à l'attachement
Je sais cela en utilisant
sData = 'To'
if sData in oMsg:
print sData + "", oMsg[sData]
obtient l'en-tête 'To:' du message principal mais comment puis-je obtenir cela de la pièce jointe?
J'ai essayé
for part in oMsg.walk():
oAttach = part.get_payload(1)
Mais je ne suis pas sûr de ce qu'il faut faire avec l'objet oAttach. J'ai essayé de le transformer en une chaîne et ensuite le passer à
oMsgAttach = email.message_from_string(oAttach)
Mais cela ne fait rien. Je suis un peu dépassée par les docs python et j'ai besoin d'aide. Merci d'avance.
Quel client de messagerie envoie l'e-mail? – codeape
@codeape - Je ne sais pas. Les courriels proviennent de yahoo et hotmail et les pièces jointes sont les courriels d'origine envoyés à partir des listes de diffusion auxquelles les gens se sont abonnés, puis se sont plaints à yahoo et à hotmail. Ceci est une tentative d'automatisation des listes de suppression – 32423hjh32423
Quelle était votre solution? Cela n'a jamais été mis à jour avec la réponse. –