В случае, если вы используете структуру Spring и MimeMessage для отправки электронной почты, попробуйте настроить контент через MimeMessagePreparator следующим образом (я пропускаю метод getMessagePreparator mimemessagepreparator, так как важно, как установить контент):
// Create the message helper from the received mimemessage on the preparator
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
// ... include the from, to, subject, freemarker html generation here... text is the String variable with generated html
// Set the content as follows instead of helper.setText(text, true);
helper.getMimeMessage().setContent(text, "text/html;charset=utf-8");
Это сработало для меня, и браузеры правильно отображают символы при отправке электронных писем.
Подразумеваемые классы:
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;
import javax.mail.internet.MimeMessage;
Также убедитесь, что ваша рабочая область имеет кодировку UTF-8 по умолчанию для файлов шаблонов, щелкнув правой кнопкой мыши их свойства, если вы используете eclipse IDE.
Надеюсь это поможет.
person
Francisco Valle
schedule
27.09.2016