Java Mail codiert, nicht Englisch Zeichen
-
23-09-2019 - |
Frage
Mit dem Code unten i eine E-Mail in nicht-Englisch geschrieben senden kann, und obwohl das Thema richtig angezeigt wird, den Körper erscheint als Kauderwelsch.
Irgendwelche Ideen?
Danke
public void postMail(String recipient, String subject, String message, String from) throws MessagingException, UnsupportedEncodingException {
//Set the host smtp address
Properties props = new Properties();
props.put("mail.smtp.host", "mail.infodim.gr");
// create some properties and get the default Session
Session session = Session.getDefaultInstance(props, null);
// create a message
Message msg = new MimeMessage(session);
// set the from and to address
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress addressTo=new InternetAddress(recipient);
msg.setRecipient(Message.RecipientType.TO, addressTo);
// Setting the Subject and Content Type
msg.setSubject(subject);
msg.setContent(message, "text/plain");
Transport.send(msg);
}
Keine korrekte Lösung
Andere Tipps
Versuchen Sie:
msg.setContent(message, "text/plain; charset=UTF-8");
Bearbeiten geändert zu text/plain
.
Anstelle von
msg.setContent(message, "text/plain");
Ich würde schreiben
Multipart mp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(message, "text/plain; charset=ISO-8859-7");
mp.addBodyPart(mbp);
msg.setContent(mp);
vermutete ich ISO-8859-7
von Ihrem Namen, weil diese charset für griechische, aber vielleicht können Sie es richtig wählen. Oder vielleicht auch UTF-8
Werke für Ihren Fall.
Wenn nichts anderes hilft, versuchen Sie eine Codierung der Quelldateien zu ändern (einschließlich .java-Dateien) zu UTF8. In Eclipse wird es über Fenster getan -> Einstellungen -> Allgemein -> Arbeitsbereich: Text-Datei-Codierung Ich hatte CP1252 als Standard für meine Textdateien.
Ich bin meinen Text aus .properties-Dateien zu bekommen. sie UTF8 ändern nicht helfen. Das ist verrückt, aber Schale meine .java Dateien UTF8 gelöst mein Problem!