electrónico java codificación de caracteres no ingleses
-
23-09-2019 - |
Pregunta
Usando el código de abajo puedo enviar un correo electrónico escrito en no-Inglés y aunque el sujeto aparece correctamente el aparece el cuerpo como un galimatías.
Cualquier ideas?
Gracias
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);
}
No hay solución correcta
Otros consejos
Trate:
msg.setContent(message, "text/plain; charset=UTF-8");
Editar cambiado a text/plain
.
En lugar de
msg.setContent(message, "text/plain");
Me gustaría escribir
Multipart mp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(message, "text/plain; charset=ISO-8859-7");
mp.addBodyPart(mbp);
msg.setContent(mp);
Me supuso ISO-8859-7
de su nombre porque este juego de caracteres es para el griego, pero tal vez usted puede elegir que sea más adecuada. O quizá también obras UTF-8
para su caso.
Si nada de esto ayuda, trate de cambiar una codificación de los archivos de origen (incluyendo archivos .java) a UTF8. En Eclipse se realiza a través de la ventana -> Preferencias -> General -> Espacio de trabajo: la codificación de archivos de texto Tenía CP1252 como valor predeterminado para mis archivos de texto.
Me estoy poniendo mi texto de archivos .properties. Cambiándolos a UTF8 no ayudó. Esto es una locura, pero cambiar mis archivos .java a UTF8 resuelto mi problema!