J'ai un objet.corps de l'e-mail d'un objet e-mail analysé en jython
fp = open(self.currentEmailPath, "rb")
p = email.Parser.Parser()
self._currentEmailParsedInstance= p.parse(fp)
fp.close()
self.currentEmailParsedInstance, de cet objet que je veux obtenir le corps d'un e-mail, le texte ne pas HTML ....
Comment puis-je faire?
quelque chose comme ça?
newmsg=self._currentEmailParsedInstance.get_payload()
body=newmsg[0].get_content....?
puis dépouiller le html du corps. tout ce que .... pour renvoyer le texte réel ... peut-être je mal ce que vous comprenez
msg=self._currentEmailParsedInstance.get_payload()
print type(msg)
output = 'liste' Type
l'email
Return-Path:
Reçu: de xx.xx.net (exemple) par mxx3.xx.net (xxx)
id 485EF65F08EDX5E12 pour [email protected]; Thu, 23 Oct 2008 06:07:51 +0200
Reçu: à partir de xxxxx2 (ccc) par example.net (ccc) (authentifié comme [email protected]) id 48798D4001146189 par [email protected] .com; Jeu, 23 octobre 2008 06:07:51 +0200
De: "exemple"
Pour:
Sujet: FW: exemple Date: Thu, 23 octobre 2008 12:07:45
Organisation 0800: exemple Message-ID: < 001601c934c4 $ xxxx30 $ a9ff460a @ xxx>
Version MIME: 1.0
Type de contenu: multipart/mixed;
boundary = "---- = _ NextPart_000_0017_01C93507.F6F64E30"
X-Mailer: Microsoft Office Outlook 11
X-MimeOLE: Produit par Microsoft MimeOLE V6.00.2900.3138
Discussion-Index: Ack0wLaumqgZo1oXSBuIpUCEg/wfOAABAFEA
Il s'agit d'un message en plusieurs parties au format MIME.
------ = _ NextPart_000_0017_01C93507.F6F64E30
Type de contenu: multipart/alternative;
boundary = "---- = _ NextPart_001_0018_01C93507.F6F64E30"
------ = _ NextPart_001_0018_01C93507.F6F64E30
Content-Type: text/plain;
charset = "us-ascii"
Content-Transfer-Encoding: 7bit
De: example.example [mailto: [email protected]]
Envoyée: Le jeudi 23 Octobre 2008 11:37
A: [email protected]
Sujet: S/I par exemple (B/L
N °: 4357-0120-810.044)
S'il vous plaît trouver ci-joint le Exemple.doc),
Merci.
B.rgds,
xxx xxx
------ = _ NextPart_001_0018_01C93507.F6F64E30
Content-Type: text/html;
charset = "us-ascii"
Content-Transfer-Encoding: quoted-imprimable
xmlns: o = 3D "urn: schemas-microsoft-com: office: office" =
xmlns: w = 3D "urn: schemas-microsoft-com: office: mot" =
xmlns: st1 = 3D "urn: schemas-microsoft-com: office: SmartTags" =
xmlns = 3D "http://www.w3.org/TR/REC-html40">
HTML STUFF jusqu'à
------ = _ NextP art_001_0018_01C93507.F6F64E30--
------ = _ NextPart_000_0017_01C93507.F6F64E30
Content-Type: application/msword;
nom = "xxxx.doc"
Content-Transfer-Encoding: base64
Contenu-Disposition: attachement;
filename = "xxxx.doc"
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAYAAAAAAAAAAA EAAAYgAAAAEAAAD + //// AAAAAF8AAAD /////////////////////////// ////////////////// /////////////////////////////// /////////////////////////////////////////// //// ////////////////////////////////////////////////////////////////////// ////////////////////// /////////////////////////// ///////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////// ////////////////////////// /////////////////////// ////////////////////////////////////////////////////////////////////// /// ///////////////////////////////// ///////////////////////////////////////// ////// ////////////////////////////////////////////////////////////////////// /////////////////// de pcEAI2AJBAAA + FK/AAAAAAAAEAAAAAAABgAAnEIAAA4AYmpiaqEVoRUAAAAAAAAAAAAAAAAAAAAA AAAECBYAMlAAAMN/AADDfwAAQQ4AAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD // w8AAAAA AAAAAAD // // w8AAAAAAAAAAAD w8AAAAAAAAAAAAAAAAAAAAAAKQAAAAAAEYEAAAAAAAARgQAAEYE AAAAAAAARgQAAAAAAABGBAAAAAAAAEYEAAAAAAAARgQAABQAAAAAAAAAAAAAAFoEAAAAAAAA4hsA AAAAAADiGwAAAAAAAOIbAAA4AAAAGhwAAHwAAACWHAAARAAAAFoEAAAAAAAABzcAAEgBAADmHAAA FgAAAPwcAAAAAAAA/BwAAAAAAAD8HAAAAAAAAPwcAAAAAAAA/BwAAAAAAAD8HAAAAAAAAPwcAAAA AAAAMjYAAAIAAAA0NgAAAAAAADQ2AAAAAAAANDYAAAAAAAA0NgAAAAAAADQ2AAAAAAAANDYAACQA AABPOAAAaAIAALC6AACOAAAAWDYAAGkAAAAAAAAAAAAAAAAAAAAA AAAARgQAAAAAAABHLAAAAAAA AAAAAAAAAAAAAAAAAAAAAAD8HAAAAAAAAPwcAAAAAAAARywAAAAAAABHLAAAAAAAAFg2AAAAAAAA
------ = _ NextPart_000_0017_01C93507.F6F64E30--
Je veux juste obtenir:
De: xxxx.xxxx [mailto: [email protected]]
Envoyée: Le jeudi 23 Octobre 2008 11:37
pour: [email protected]
Sujet: S/I pour xxxxx (B/l
No.:4357-0120-810.044)
Veuillez trouver ci-joint le xxxx.doc),
Merci.
B.rgds,
xxx xxx
ne sais pas si le courrier est malformé! semble si vous obtenez une page html que vous devez faire ceci:
parts=self._currentEmailParsedInstance.get_payload()
print parts[0].get_content_type()
..._multipart/alternative_
textParts=parts[0].get_payload()
print textParts[0].get_content_type()
..._text/plain_
body=textParts[0].get_payload()
print body
...get the text without a problem!!
Merci beaucoup Vinko. Donc, c'est un peu comme traiter avec XML, récursif dans la nature.
get_payload() retourne le corps du message. Si vos messages sont en plusieurs parties, vous devez fournir un index, comme je l'ai dit dans la réponse. Veuillez être plus explicite –
donc c'est la sortie pour msg = self._currentEmailParsedInstance.get_payload (0); print msg; "ImportError: aucun module nommé locale" – Setori
c'est ce que je comprends quand vous dites lui donner un index. Je suis sûr que je vous ai mal compris. Ou je le comprends comme ceci newmsg = self._currentEmailParsedInstance.get_payload(); body = newmsg [0] .get_content ....?; Im essayant d'être aussi explicite que je peux. – Setori