java sendEmail

import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.velocity.app.VelocityEngine;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.ui.velocity.VelocityEngineUtils;

public class MailSend {
private JavaMailSenderImpl sender;
private VelocityEngine velocityEngine = null;
private static final String DEFAULT_SendEmail_Charset = "GBK";
public void signUpMailSend(User user) {
try {
MimeMessage mimeMessage = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_NO, DEFAULT_SendEmail_Charset);
InternetAddress internetAddress = new InternetAddress(sender.getUsername(), sender.getUsername(), DEFAULT_SendEmail_Charset);
helper.setTo(user.getEmail());
helper.setFrom(internetAddress);
helper.setSubject("亲爱的" + user.getFirstName() + ",完成最后一步,您的注册就成功了!");
Map<String, Serializable> model = new HashMap<String, Serializable>();
model.put("user", user);
String result = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "cn/und/mail/signUpMail.vm", model);
helper.setText(result, true);
sender.send(mimeMessage);
} catch (Exception e) {
log.error("向{}邮件发送失败!", user.getEmail());
log.error("error", e);
}
}
}

  //向注册用户发送邮件
public class signAction {
mailSend.signUpMailSend(user)
}

Spring 配置文件:

<bean id="signAction " class="..." abstract="true" scope="prototype">
  <property name="mailSend" ref="mailSend" />
</bean>

<bean id="mailSend" class="…." scope="prototype" >
  <property name="sender" ref="sender" />
  <property name="velocityEngine" ref="velocityEngine" />
</bean>

<bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl" scope="prototype" >
<property name="host" value="${mail.host}" />
  <property name="port" value="${mail.port}" />
  <property name="username" value="${mail.username}" />
  <property name="password" value="${mail.password}" />
  <property name="javaMailProperties">
   <props>
    <prop key="mail.smtp.auth">true</prop>
    <prop key="mail.smtp.timeout">25000</prop>
    <prop key="mail.smtp.starttls.enable">true</prop>
   </props>
  </property>
</bean>

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
  <property name="velocityProperties">
   <props>
    <prop key="resource.loader">class</prop>
    <prop key="class.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</prop>
    <prop key="velocimacro.library"></prop>
    <prop key="input.encoding">utf-8</prop>
    <prop key="output.encoding">utf-8</prop>
   </props>
  </property>
</bean>

你可能感兴趣的:(java,apache,spring,UI,velocity)