JavaMail与Velocity制作邮件模板


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd ">
<beans default-autowire="byName">
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.163.com"/>
<property name="username" value="a123159521@163.com"/>
<property name="password" value="013651"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
</bean>

<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
<property name="from" value="a123159521@163.com"/>
<property name="replyTo" value="a123159521@163.com"/>
<property name="cc" value="yclblogs@gmail.com"/>
<property name="to" value="392200123@qq.com,178980585@qq.com"/>
</bean>

<bean id="mailService" class="org.frame.base.mail.MailService">
<property name="mailSender" ref="mailSender"/>
<property name="mailMessage" ref="mailMessage"/>
</bean>

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="resourceLoaderPath" value="classpath:template"/>
</bean>

<bean id="velocityMailService" class="org.frame.base.mail.VelocityMailService">
<property name="mailSender" ref="mailSender"/>
<property name="mailMessage" ref="mailMessage"/>
<property name="template" value="test.vm"/>
<property name="velocityEngine" ref="velocityEngine"/>
</bean>
</beans>

废话就不多说了,代码如上.Velocity发送邮件的代码如下:

package org.frame.base.mail;

import java.util.HashMap;
import java.util.Map;

import org.apache.velocity.app.VelocityEngine;
import org.springframework.mail.MailMessage;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.ui.velocity.VelocityEngineUtils;

public class VelocityMailService {

MailSender mailSender;
MailMessage mailMessage;
String template;
VelocityEngine velocityEngine;
Map model = new HashMap();
public void setMailSender(MailSender mailSender) {
this.mailSender = mailSender;
}
public void setMailMessage(MailMessage mailMessage) {
this.mailMessage = mailMessage;
}
public void setTemplate(String template) {
this.template = template;
}
public void setVelocityEngine(VelocityEngine velocityEngine) {
this.velocityEngine = velocityEngine;
}

@SuppressWarnings("unchecked")
public void send(String subject){
model.put("me", "杨春龙");
mailMessage.setSubject(subject);
mailMessage.setText(getText());
mailSender.send((SimpleMailMessage) mailMessage);
}

public String getText(){
return VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, template, model);
}

}


通过Velocity渲染后,返回邮件内容,并发送邮件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值