spring 邮件(Velocity模板)

来源:互联网 发布:淘宝宝贝关键词 编辑:程序博客网 时间:2024/05/21 11:36

三、Velocity格式邮件

(1)java 代码:

import java.util.HashMap;import java.util.Map;import javax.mail.internet.MimeMessage;import org.apache.velocity.app.VelocityEngine;import org.springframework.mail.MailSender;import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;import org.springframework.ui.velocity.VelocityEngineUtils;public class VelocityOrderManager implements OrderManager {private MailSender mailSender;private VelocityEngine velocityEngine;private MimeMessage message ;        public void setMailSender(MailSender mailSender) {        this.mailSender = mailSender;    }public void setVelocityEngine(VelocityEngine velocityEngine) {this.velocityEngine = velocityEngine;}public void setMessage(MimeMessage message) {this.message = message;}@Overridepublic void placeOrder() throws Exception {message=((JavaMailSenderImpl)mailSender).createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message);helper.setTo("xxxx@qq.com");helper.setFrom("xxxx@126.com");helper.setSubject("html测试");helper.setText("<html><head></head><body><h1 style='color:red'>hello!!spring VELOCTIY Mail</h1></body></html>",true);User user =new User();user.setUserName("xxx");user.setEmailAddress("xxxx@gmail.com");Map model = new HashMap();        model.put("user", user);                String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "com/spring/test/mail/velocityTemplate.vm", model);        helper.setText(text, true);                ((JavaMailSenderImpl)mailSender).send(message);                System.out.println("邮件发送成功..");     }}


(2)spring配置文件

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">   <property name="host" value="smtp.126.com"/>  <property name="username" value="xxxxx"/>  <property name="password" value="xxxxx"/>  <property name="defaultEncoding" value="UTF-8"/>    <property name="javaMailProperties">  <props>  <prop key="mail.smtp.auth">true</prop>  </props>  </property> </bean><bean id="velocityOrderManager" class="com.spring.test.mail.VelocityOrderManager">   <property name="mailSender" ref="mailSender"/>   <property name="velocityEngine" ref="velocityEngine"/></bean> <bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">      <property name="velocityProperties">         <value>            resource.loader=class            class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader         </value>      </property>   </bean>


 (3) Velocity模板

<html><body><h3>Hi ${user.userName}, welcome to the Chipping Sodbury On-the-Hill message boards!</h3><div>   Your email address is <a href="mailto:${user.emailAddress}">${user.emailAddress}</a>.</div></body></html>