Проблема кодирования в шаблоне скорости при развертывании приложения в процессе

Вопрос:

Я использую шаблоны скорости для отправки писем моим пользователям. В этих письмах есть такие элементы, как “ы”, “или”. Когда я отправляю электронные письма на местном уровне, все работает нормально, и нет проблем с подключением.

Тем не менее, если приложение находится в среде развертывания, электронные письма отображаются неправильно при использовании таких символов, как указано.

Это мой метод отправки писем:

    MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true);
message.setTo(to);
message.setFrom(from);
message.setReplyTo(from);
message.setSubject(subject);
String body = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, templateURI, "UTF-8", model);
message.setText(body, true);
}
};
try{
this.mailSender.send(preparator);
}catch(MailException e){
logger.error("Mail exception sending the email to "+ to + "\n Exception: " + e.getMessage());


}
}

Это один пример шаблона:

<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>[Manager]</title>
<style>
body{font-family:"Courier New", Courier, monospace};
.message{font-size:0.8em};
</style>
</head>
<body>
<p> Dear ${user.firstName},</p>
<p> ${message} </p>
<p> Best regards, </p>
<p> Manager <br/>
Manager system app
</p>

<p class="message">This message was sent by the admin. Do not answer this email.<br>
If you have any issue, do not hesitate to contact us through the support section in your user panel</p>
</body>
</html>

И это боб:

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="velocityProperties">
<value>
resource.loader=class
contentType=text/html; charset=utf-8
class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
</value>
</property>
</bean>

Мы используем tomcat7 на рабочем сервере. Нужна ли какая-либо конкретная конфигурация или проблема в конфигурации приложения?

Ответ №1

Есть два других свойства, которые вы можете попробовать установить в свойствах скорости:

input.encoding = UTF8
output.encoding = UTF8

Оцените статью
TechArks.Ru
Добавить комментарий