отправка электронной почты с арабским контентом через Java I - PullRequest
2 голосов
/ 17 сентября 2010

Я хочу отправить письмо с арабским контентом через почту java, но каждое арабское слово в сообщении выглядит как ????????????? , Как я могу сделать кодировку в utf_8 для поддержки арабского языка ??? так как я использую этот код

    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
    message.setSubject(subject_a);
    message.setText(messageDetails_a);
    Transport.send(message);

Ответы [ 2 ]

4 голосов
/ 17 сентября 2010

Просто добавьте некоторую информацию charset к методам. Если тема или тело сообщения содержат не символы US-ASCII, для кодирования будет использоваться кодировка по умолчанию. Явная установка кодировки в UTF-8 всегда будет безопасной:

String charset="UTF-8";
message.setSubject(subject_a,charset);
message.setText(messageDetails_a,charset);
4 голосов
/ 17 сентября 2010

Вы должны создать MimeMessage (и сохранить его как MimeMessage) и использовать метод setSubject(subject, "UTF-8"); для субъекта.

setContent( messageContent, "text/html; charset=utf-8" ); будет обрабатывать UTF-8 в контенте.

С чистым текстом:

setText(messageContent, "UTF-8");

Ресурсы:

...