Вопрос

Используя приведенный ниже код, я могу отправить электронное письмо, написанное в неанглийском языке, и хотя субъект правильно появляется, тело появляется как тампбера.
Любые идеи?
Спасибо

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);

        }

Нет правильного решения

Другие советы

Пытаться:

msg.setContent(message, "text/plain; charset=UTF-8");

Редактировать Изменился на text/plain.

Вместо

msg.setContent(message, "text/plain");

Я бы написал

Multipart mp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(message, "text/plain; charset=ISO-8859-7");
mp.addBodyPart(mbp);

msg.setContent(mp);

Я полагал ISO-8859-7 От вашего имени, потому что этот Charset для греческого, но, возможно, вы можете выбрать его более правильно. Или, может быть, тоже UTF-8 работает для вашего дела.

Если ничего другого не помогает, попробуйте изменить кодирование ваших исходных файлов (включая файлы .java) в UTF8. В Eclipse это делается через Window -> Preferences -> General -> Workspace: Кодирование текстового файла у меня была CP1252 в качестве по умолчанию для моих текстовых файлов.

Я получаю свой текст из файлов .properties. Изменение их на UTF8 не помогла. Это безумие, но переключение моих файлов .java на UTF8 решило мою проблему!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top