使用Spring简化JavaMail
如果你用過用javax.mail來寫email發送,你就會發現這個包寫得如此繁雜。
import java.util.Date; 
import java.util.Properties; 
import javax.mail.*; 
import javax.mail.internet.AddressException; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 
import javax.mail.internet.MimeMessage.RecipientType; 
public class JavaMailDemo { 
??? public static void main(String[] args) { 
??????? Properties p =new Properties(); 
??????? //首先指定發送郵件的主機 
??????? String host="127.0.0.1"; 
??????? p.put("mail.smtp.host", host); 
??????? //得到發送郵件的sessoin 
??????? Session session =Session.getDefaultInstance(p); 
??????? //準備一封電子郵件 
??????? Message ms =new MimeMessage(session); 
??????? Address address =null; 
??????? Address to=null; //收件人地址 
??????? try { 
??????????? address=new InternetAddress("pengzj"); 
??????? ms.setFrom(address); 
??????? to=new InternetAddress("zhouzq@gzaccp.com"); 
??????? ms.setRecipient(Message.RecipientType.TO, to); 
??????? ms.setSubject("javamail測試2"); 
??????? ms.setSentDate(new Date()); 
??????? ms.setText("你好,這是javamail發送的電子郵件2"); 
??????? Transport t= session.getTransport("smtp"); 
??????? t.send(ms); 
??????? System.out.println("郵件已發送"); 
??????? } catch (AddressException e) { 
??????????? // TODO Auto-generated catch block 
??????????? e.printStackTrace(); 
??????? } catch (MessagingException e) { 
??????????? // TODO Auto-generated catch block 
??????????? e.printStackTrace(); 
??????? } 
??? } 
}
一個地址都要如此封裝,真是麻煩。
Spring的初衷就是要讓JavaEE技術變得容易使用。
那么它對JavaMail的支持也是理所當然的了。下面我們來看看如何使用Spring+Javamail.
首先配置好spring的application.xml
<?xml version="1.0" encoding="UTF-8"?> 
<beans 
??? xmlns="http://www.springframework.org/schema/beans" 
??? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
??? xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> 
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
<property name="host"> 
<value>127.0.0.1</value> 
</property> 
</bean> 
</beans>
發送郵件的代碼變得如此簡單:
package com.pengzj.mail;
import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
import org.springframework.mail.SimpleMailMessage; 
import org.springframework.mail.javamail.JavaMailSender; 
public class MyMailSender {
??? public static void main(String[] args) { 
??????? ApplicationContext ctx =new ClassPathXmlApplicationContext("applicationContext.xml"); 
??????? JavaMailSender sender=(JavaMailSender)ctx.getBean("mailSender"); 
??????? SimpleMailMessage sms =new SimpleMailMessage(); 
??????? sms.setFrom("pengzj@gzaccp.com"); 
??????? sms.setTo("zhouzq@gzaccp.com"); 
??????? sms.setText("這是用spring發送的電子郵件"); 
??????? sms.setSubject("how are you!"); 
??????? sender.send(sms); 
??? } 
}
轉載于:https://blog.51cto.com/cnjava/530438
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的使用Spring简化JavaMail的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 常用矩阵范数
- 下一篇: 需求分析的定义(转)
