java vm模板 邮件_使用velocity模板发送邮件

packageorg.seckill.util.mail;importjava.io.BufferedReader;importjava.io.IOException;importjava.util.Map;importjava.util.Properties;importjavax.mail.internet.MimeMessage;importorg.apache.velocity.app.VelocityEngine;importorg.springframework.mail.javamail.JavaMailSender;importorg.springframework.mail.javamail.JavaMailSenderImpl;importorg.springframework.mail.javamail.MimeMessageHelper;importorg.springframework.ui.Model;importorg.springframework.ui.velocity.VelocityEngineFactory;importorg.springframework.ui.velocity.VelocityEngineUtils;/*** 邮件服务类

* @date 2016年10月19日

**/

public classMailHelper {/**发送类*/

privateJavaMailSender mailSender;/**Velocity引擎*/

privateVelocityEngine velocityEngine;private String charset = "UTF-8";/**标题*/

privateString mailTitle;/**发件人*/

privateString mailFrom;publicMailHelper() { }publicMailHelper(String mailTitle, String mailFrom) {this.mailTitle =mailTitle;this.mailFrom =mailFrom;

}publicMailHelper(JavaMailSender mailSender, VelocityEngine velocityEngine) {this.mailSender =mailSender;this.velocityEngine =velocityEngine;

}public booleansendMail( String[] to, String subject, String tplName, Model model ) {returnsendMail(to, subject, tplName, model.asMap());

}public boolean sendMail( String to, String subject, String tplName, Mapdata ) {return sendMail(newString[ ] { to }, subject, tplName, data);

}public boolean sendMail( String[] to, String subject, String tplName, Mapdata ) {return sendMail(this.mailTitle, this.mailFrom, to, subject, tplName, data);

}/*** 发给一个收件人

*@parampersonal

*@paramfrom

*@paramto

*@paramsubject

*@paramtplName

*@parammodel

*@return

*/

public booleansendMail( String personal, String from, String to, String subject, String tplName, Model model ) {return sendMail(personal, from, newString[ ] { to }, subject, tplName, model.asMap());

}/*** 发送邮件

*@parampersonal 邮件发送者名称

*@paramfrom 邮件发送者地址

*@paramto 收件人地址

*@paramsubject 主题

*@paramtplName 模板,如/WEB-INF/views/mail/xxx.vm

*@parammodel 数据model

*@return是否成功*/

public booleansendMail( String personal, String from, String[] to, String subject, String tplName, Model model ) {returnsendMail(personal, from, to, subject, tplName, model.asMap());

}/*** 发送邮件

*@parampersonal 邮件发送者名称

*@paramfrom 邮件发送者地址

*@paramto 收件人地址

*@paramsubject 主题

*@paramtplName 模板,如/WEB-INF/views/mail/xxx.vm

*@paramdata 数据

*@return是否成功*/

public boolean sendMail(String personal,String from,String[] to,String subject,String tplName,Mapdata){try{

MimeMessage msg=mailSender.createMimeMessage();

MimeMessageHelper msgHelper= newMimeMessageHelper(msg, getCharset());

msgHelper.setFrom(from, personal);

msgHelper.setTo(to);

msgHelper.setSubject(subject);

msgHelper.setText(getHtmlText(tplName,data),true);

mailSender.send(msg);return true;

}catch(Exception e) {

e.printStackTrace();

}return false;

}/*** velocity 模板转 html

*@paramtplName 模板

*@paramdata 数据

*@return

*/

public String getHtmlText(String tplName,Mapdata){return VelocityEngineUtils.mergeTemplateIntoString(this.velocityEngine, tplName,getCharset(),data);

}publicJavaMailSender getMailSender() {returnmailSender;

}public voidsetMailSender(JavaMailSender mailSender) {this.mailSender =mailSender;

}publicVelocityEngine getVelocityEngine() {returnvelocityEngine;

}public voidsetVelocityEngine(VelocityEngine velocityEngine) {this.velocityEngine =velocityEngine;

}publicString getMailTitle() {returnmailTitle;

}public voidsetMailTitle(String mailTitle) {this.mailTitle =mailTitle;

}publicString getMailFrom() {returnmailFrom;

}public voidsetMailFrom(String mailFrom) {this.mailFrom =mailFrom;

}

publicString getCharset() {returncharset;

}

public voidsetCharset(String charset) {this.charset =charset;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值