1- 出现model中的中文信息显示正常,而模板中的静态中文信息显示乱码
我的模板是用html进行编写的,而且html模板是UTF-8的,使用如下代码会出现乱码。
String text = VelocityEngineUtils.mergeTemplateIntoString(
velocityEngine, template, model);
改成如下代码即可:
---- > MimeMessageHelper help = new MimeMessageHelper(message, true, "UTF-8");
String text = VelocityEngineUtils.mergeTemplateIntoString(
velocityEngine, template, "UTF-8", model);
这样就不会出现乱码了。
2- 附件文件名 显示乱码
我是直接使用得到文件名称,使用如下代码会出现乱码。
messageHelper.addAttachment(file.getName(), file);
改成如下代码即可:这样就不会出现乱码了。
---- >
messageHelper.addAttachment(MimeUtility.encodeWord(file.getName(),"UTF-8",null), file);
附上代码:
1.pom.xml 追加 (使用的包:org.apache.velocity 和 javax.mail )
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.5</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
2. mail ( SMTP设置)
mail.properties
templatePaht 是指定了模板文件在class路径下。
a3. spring 必要Xml追加
applicationContext.xml : (MailSupportContext.xml)