一. Spring邮件抽象层
Spring提供了一个发送电子邮件的高级抽象层,它向用户屏蔽了底层邮件系统的一些细节,同时代表客户端负责底层的资源处理.
有两种:1.SimpleMailMessage
2.MimeMessagePreparator函数的使用.
首先以SimpleMailMessage写一个例子:
1步:配置MailSender.xml,
在WEB-INF/conf/MailSender.xml
如下:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host"><!-- 发件人主机地址 -->
<value>mail.XXX.com</value>
</property>
<property name="javaMailProperties">
<props>
<!-- 如果要使用用户名和密码验证,这一步需要 -->
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
<property name="username">
<value>发件人的用户名</value>
</property>
<property name="password">
<value>发件人的密码</value>
</property>
</bean>
<!-- 简单的message -->
<bean id="mailMessage"
class="org.springframework.mail.SimpleMailMessage">
<property name="to"><!-- 收件人地址 -->
<value>XXX@XXX.com</value>
</property>
<property name="from"><!—发件人地址 -->
<value>XXX@XXX.com</value>
</property>
<property name="subject"><!-- Email 标题 -->
<value>FOR TEST</value>
</property>
</bean>
<bean id="simplesender" class="mail.SenderMailImpl">
<property name="mailMessage">
<ref bean="mailMessage" />
</property>
<property name="mailSender">
<ref bean="mailSender" />
</property>
</bean>
2步:配置web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<!--WEB-INF/dataAccessContext.xml,-->
WEB-INF/conf/applicationContext.xml,
WEB-INF/conf/MailSender.xml
</param-value>
</context-param>
3步: 创建类,一个接口,一个实现类。
package mail;
public interface ISenderMail {
public void sendMail();
}
--------------------------------------------------
package mail;
import org.springframework.mail.MailException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
public class SenderMailImpl implements ISenderMail{
private MailSender mailSender;
private SimpleMailMessage mailMessage;
public SenderMailImpl() {
}
public SimpleMailMessage getMailMessage() {
return mailMessage;
}
public void setMailMessage(SimpleMailMessage mailMessage) {
this.mailMessage = mailMessage;
}
public MailSender getMailSender() {
return mailSender;
}
public void setMailSender(MailSender mailSender) {
this.mailSender = mailSender;
}
public void sendMail() {
SimpleMailMessage message = new SimpleMailMessage(mailMessage);
//设置邮件文本内容,
message.setText("测试Spring 发送Email.");
System.out.println("O,发送Email成功了....");
try {
mailSender.send(message);
} catch (MailException e) {
// TODO Auto-generated catch block
System.out.println("O . 发送Email失败了....");
e.printStackTrace();
}
}
}
Spring提供了一个发送电子邮件的高级抽象层,它向用户屏蔽了底层邮件系统的一些细节,同时代表客户端负责底层的资源处理.
有两种:1.SimpleMailMessage
2.MimeMessagePreparator函数的使用.
首先以SimpleMailMessage写一个例子:
1步:配置MailSender.xml,
在WEB-INF/conf/MailSender.xml
如下:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host"><!-- 发件人主机地址 -->
<value>mail.XXX.com</value>
</property>
<property name="javaMailProperties">
<props>
<!-- 如果要使用用户名和密码验证,这一步需要 -->
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
<property name="username">
<value>发件人的用户名</value>
</property>
<property name="password">
<value>发件人的密码</value>
</property>
</bean>
<!-- 简单的message -->
<bean id="mailMessage"
class="org.springframework.mail.SimpleMailMessage">
<property name="to"><!-- 收件人地址 -->
<value>XXX@XXX.com</value>
</property>
<property name="from"><!—发件人地址 -->
<value>XXX@XXX.com</value>
</property>
<property name="subject"><!-- Email 标题 -->
<value>FOR TEST</value>
</property>
</bean>
<bean id="simplesender" class="mail.SenderMailImpl">
<property name="mailMessage">
<ref bean="mailMessage" />
</property>
<property name="mailSender">
<ref bean="mailSender" />
</property>
</bean>
2步:配置web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<!--WEB-INF/dataAccessContext.xml,-->
WEB-INF/conf/applicationContext.xml,
WEB-INF/conf/MailSender.xml
</param-value>
</context-param>
3步: 创建类,一个接口,一个实现类。
package mail;
public interface ISenderMail {
public void sendMail();
}
--------------------------------------------------
package mail;
import org.springframework.mail.MailException;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
public class SenderMailImpl implements ISenderMail{
private MailSender mailSender;
private SimpleMailMessage mailMessage;
public SenderMailImpl() {
}
public SimpleMailMessage getMailMessage() {
return mailMessage;
}
public void setMailMessage(SimpleMailMessage mailMessage) {
this.mailMessage = mailMessage;
}
public MailSender getMailSender() {
return mailSender;
}
public void setMailSender(MailSender mailSender) {
this.mailSender = mailSender;
}
public void sendMail() {
SimpleMailMessage message = new SimpleMailMessage(mailMessage);
//设置邮件文本内容,
message.setText("测试Spring 发送Email.");
System.out.println("O,发送Email成功了....");
try {
mailSender.send(message);
} catch (MailException e) {
// TODO Auto-generated catch block
System.out.println("O . 发送Email失败了....");
e.printStackTrace();
}
}
}