Spring提供了一個發送電子郵件的高級抽象層,它向用戶屏蔽了底層郵件系統的一些細節,同時負責低層次的代表客戶端的資源處理。Spring郵件抽象層的主要包為org.springframework.mail。它包括了發送電子郵件的主要接口MailSender和 封裝了簡單郵件的屬性如from, to,cc, subject, text的值對象叫做SimpleMailMessage。
下面以發送簡單郵件為例說明郵件發送功能的實現過程。
1.用spring的mail發郵件需要將j2ee包里的mail.jar和spring.jar兩個包引入到項目中。
2.郵件發送類
package com;
import javax.servlet.ServletException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
public class SendMail {
public ApplicationContext ctx = null;
public SendMail(){
ctx = new ClassPathXmlApplicationContext("applicationContext.xml");//獲取上下文
}
/**
* 發送簡單郵件
*/
public void sendMail1(){
JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");//獲取JavaMailSender bean
SimpleMailMessage mail = new SimpleMailMessage();
try {
mail.setTo("54305792@qq.com");//接受者
mail.setFrom("123456@163.com");//發送者
mail.setSubject("spring mail test!");//主題
mail.setText("springMail 的簡單發送測試");//郵件內容
sender.send(mail);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 主測試方法
*/
public static void main(String[] args) throws ServletException{
new SendMail().sendMail1();
}
}
3.最后的就是配置ApplicationContext.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>smtp.163.com</value>
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
<property name="username">
<value>xxxxxxx</value>
</property>
<property name="password">
<value>xxxxxxx</value>
</property>
</bean>
</beans>
posted on 2008-10-20 00:12
楊愛友 閱讀(1354)
評論(1) 編輯 收藏 所屬分類:
java相關技術