Utilisation du code ci-dessous, je peux envoyer un email écrit en anglais et, bien que le sujet apparaisse correctement, le corps apparaisse comme gibberish.
Des idées?
Merci
3 Réponses :
Essayez:
msg.setContent(message, "text/plain; charset=UTF-8");
devrait être "Texte / Plain; Charset = \" utf-8 \ ""
C'est une très bonne supposition et probablement proche de la solution correcte. Nous ne pouvons que deviner quel caractère définissez votre email. Si vous ne le savez pas non plus, vous pouvez peut-être ajouter quelques lignes de vidage hexagonal d'un échantillon à la question.
@WDS: modifié pour dire Texte / Plain Code>. Les citations autour de l'identifiant Charset sont complètement facultatives, donc je n'ai pas changé cela.
J'ai édité ces deux lignes: message.SetSubject (sujet, "utf-8"); message.setContent (corps, "Texte / plaine; Charset = utf-8"); mais ma boîte de réception Gmail a toujours l'air gibberish.
au lieu de
Multipart mp = new MimeMultipart(); MimeBodyPart mbp = new MimeBodyPart(); mbp.setContent(message, "text/plain; charset=ISO-8859-7"); mp.addBodyPart(mbp); msg.setContent(mp);
Pourquoi avez-vous besoin d'un multiart pour envelopper une seule partie du corps? C'est juste idiot.
Peut-être parce que j'ai pris l'extrait d'une application qui envoie également des pièces jointes? .. Je suis un débutant avec Java Mail.
Si rien d'autre aide, essayez de changer un codage de vos fichiers source (y compris les fichiers .java) à UTF8. Dans Eclipse, il est fait via Windows -> Préférences -> Général -> Espace de travail: Fichier texte Encodage J'avais CP1252 comme défaut pour mes fichiers texte. P>
Je reçois mon texte des fichiers .properties. Les changer en UTF8 n'a pas aidé. Ceci est fou, mais changer mes fichiers .java vers UTF8 a résolu mon problème! P>
Comment avez-vous mis le sujet pour encoder UTF-8 alors?