使用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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用矩阵范数
- 下一篇: 需求分析的定义(转)