//SystemMailSender.class
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
/**
* 系统邮件发送者,负责向系统管理员账号发送邮件.
*
*/
public class SystemMailSender
{
private String encode;
private JavaMailSender javaMailSender;
private String systemMail;
public String getEncode()
{
return encode;
}
public String getSystemMail()
{
return systemMail;
}
public void send(String subject,String content) throws MessagingException
{
send(subject,content,new String[]{systemMail});
}
public void send(String subject,String content,String receiver) throws MessagingException
{
send(subject,content,new String[]{receiver});
}
public void send(String subject,String content,String[] receiver) throws MessagingException
{
MimeMessage mimeMsg=javaMailSender.createMimeMessage();
MimeMessageHelper helper=new MimeMessageHelper(mimeMsg,true,encode);
helper.setTo(receiver);
helper.setFrom(systemMail);
helper.setSubject(subject);
helper.setText(content,true);
javaMailSender.send(mimeMsg);
}
public void setEncode(String encode)
{
this.encode=encode;
}
public void setMailSender(JavaMailSender javaMailSender)
{
this.javaMailSender=javaMailSender;
}
public void setSystemMail(String systemMail)
{
this.systemMail=systemMail;
}
}
//配置文件applicationContext-email.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans default-lazy-init="true">
<!--Spring Mail Sender-->
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="mail.126.com"/>
<property name="username" value="root@126.com"/>
<property name="password" value="password"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>
<!--系统邮件投递组件-->
<bean id="systemMailSender" class="com.service.SystemMailSender"
autowire="byName">
<property name="systemMail">
<value>root@126.com</value>
</property>
<property name="encode">
<value>utf-8</value>
</property>
</bean>
</beans>
发送代码:
try {
systemMailSender.send(subject, content,emailAddress);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}