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!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top