2010-12-28 3 views
0

J'écris un client pop3 en utilisant JavaMail pour récupérer des mails. Mais, je ne pouvais pas récupérer le corps du texte/messages courrier codés simples.JavaMail - impossible d'obtenir le corps du texte/message clair

Le mail.getContent() ne récupère pas le corps du message. Mais mail.writeTo (System.out) imprime les données de messagerie complètes, y compris les informations d'enveloppe.

Existe-t-il un moyen de récupérer uniquement le corps du message?

Merci! Mise à jour: À partir de la veille de débogage, je peux voir que mail.getContent() renvoie seulement "\ r \ n".

Solution: On dirait que le problème est avec les mails envoyés directement à partir de la session telnet. Le corps du courrier est récupéré proprement pour les mails envoyés à partir d'un programme client smtp.

Répondre

0

JavaMail attend une ligne vide (CRLF CRLF) pour terminer le bloc d'en-tête. Lorsque vous entrez le message via telnet, vous envoyez votre système newline (qui est probablement juste LF) à la fin de chaque ligne que vous entrez. Donc, je suppose que JavaMail ne voit pas le séparateur d'en-tête/corps qu'il attend, et donc c'est juste virer vos lignes "body" sur la fin de son bloc d'en-tête comme en-têtes mal formés.

Questions connexes