其中textTemplate和textTemplate2是spring注入的。
package com.ucenter.service;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
@Service
public class SimpleMailService {
//private static Logger logger = LoggerFactory.getLogger(SimpleMailService.class);
private JavaMailSender mailSender;
private String textTemplate;
private Executor executor = Executors.newFixedThreadPool(5);// 设置线程数
//审核通过发送邮件模板
private String textTemplate2;
public void sendMail(final String targetEmail,final String userName,final String newPasswd)
{
Runnable sendEmailTask=new Runnable() {
@Override
public void run() {
MimeMessage msg = mailSender.createMimeMessage();
try {
msg.addRecipient(MimeMessage.RecipientType.TO, new InternetAddress(targetEmail));
msg.addFrom(new InternetAddress[] { new InternetAddress("service@XXXX.com") });
msg.setSubject("注册成功通知", "UTF-8");
String content = String.format(textTemplate, new Object[] { userName, newPasswd });
msg.setText(content, "UTF-8");
mailSender.send(msg);
} catch (Exception e) {
e.printStackTrace();
//throw new ServiceLayerException("邮件发送失败。");
}
}
};
executor.execute(sendEmailTask);
}
public void sendPermitedMail(final String targetEmail,final String userName,final String loginName,final String password)
{
Runnable sendEmailTask=new Runnable() {
@Override
public void run() {
MimeMessage msg = mailSender.createMimeMessage();
try {
msg.addRecipient(MimeMessage.RecipientType.TO, new InternetAddress(targetEmail));
msg.addFrom(new InternetAddress[] { new InternetAddress("service@CCCC.com") });
msg.setSubject("审核通过通知", "UTF-8");
String content = String.format(textTemplate2, new Object[] { userName,loginName,password});
msg.setText(content, "UTF-8");
mailSender.send(msg);
} catch (Exception e) {
e.printStackTrace();
//throw new ServiceLayerException("邮件发送失败。");
}
}
};
executor.execute(sendEmailTask);
}
public void setMailSender(JavaMailSender mailSender)
{
this.mailSender = mailSender;
}
public void setTextTemplate(String textTemplate)
{
this.textTemplate = textTemplate;
}
public void setTextTemplate2(String textTemplate2)
{
this.textTemplate2 = textTemplate2;
}
}