posts - 41, comments - 15, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          使用Spring JavaMail發送郵件總結

          Posted on 2012-03-02 14:34 yuhaibo736 閱讀(9348) 評論(4)  編輯  收藏
          首先導入使用jar包:activation.jar,commons-logging-1.0.4.jar,mail.jar,spring.jar

           

          1、使用xml配置javamail:
          在classpath底下新建application-mail.xml,內容如下:

          Xml代碼 復制代碼 收藏代碼
          1. <?xml version="1.0" encoding="UTF-8"?>  
          2. <beans xmlns="http://www.springframework.org/schema/beans"  
          3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
          4.        xmlns:aop="http://www.springframework.org/schema/aop"  
          5.        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd   
          6.        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">  
          7.     <!-- 注意:這里的參數(如用戶名、密碼)都是針對郵件發送者的 -->  
          8.     <bean id="mailSender"  
          9.   class="org.springframework.mail.javamail.JavaMailSenderImpl">  
          10.         <property name="host">  
          11.             <value>stmp.163.com</value>  
          12.         </property>  
          13.         <property name="javaMailProperties">  
          14.             <props>  
          15.                 <prop key="mail.smtp.auth">true</prop>  
          16.                 <prop key="mail.smtp.timeout">25000</prop>  
          17.             </props>  
          18.         </property>  
          19.         <property name="username">  
          20.             <value>xxxx@163.com</value>  
          21.         </property>  
          22.         <property name="password">  
          23.             <value>xxxxxx</value>  
          24.         </property>  
          25.     </bean>  
          26. </beans>  

            或者把以上的Beans配置到applicaiont.xml里面也可以。

           

          2、發送Email類:

          Java代碼 復制代碼 收藏代碼
          1. public class SendMail {   
          2.  public ApplicationContext ctx = null;   
          3.  public SendMail() {   
          4.   //獲取上下文   
          5.   ctx = new ClassPathXmlApplicationContext("applicationContext-mail.xml");   
          6.  }   
          7.  public void send() {   
          8.   //獲取JavaMailSender bean   
          9.   JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");   
          10.   SimpleMailMessage mail = new SimpleMailMessage(); //<SPAN style="COLOR: #ff0000">注意SimpleMailMessage只能用來發送text格式的郵件</SPAN>   
          11.   
          12.   
          13.   try {   
          14.    mail.setTo("xxx@qq.com");//接受者   
          15.    mail.setFrom("xxxx@163.com");//發送者,這里還可以另起Email別名,不用和xml里的username一致   
          16.    mail.setSubject("spring mail test!");//主題   
          17.    mail.setText("springMail的簡單發送測試");//郵件內容   
          18.    sender.send(mail);   
          19.   } catch (Exception e) {   
          20.    e.printStackTrace();   
          21.   }   
          22.  }  

           

           發送html格式的Email:

           

          Java代碼 復制代碼 收藏代碼
          1. public class SendMail {   
          2.  public ApplicationContext ctx = null;   
          3.  public SendMail() {   
          4.   //獲取上下文   
          5.   ctx = new ClassPathXmlApplicationContext("applicationContext.xml");   
          6.  }   
          7.  public void send() {   
          8.   //獲取JavaMailSender bean   
          9.   JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");   
          10.   JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();   
          11.   MimeMessage mailMessage = senderImpl.createMimeMessage();   
          12.   //設置utf-8或GBK編碼,否則郵件會有亂碼   
          13.   MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,true,"utf-8");   
          14.   try {   
          15.    messageHelper.setTo(email.getEmail());//接受者      
          16.    messageHelper.setFrom("xxx@163.com");//發送者   
          17.    messageHelper.setSubject("測試郵件");//主題   
          18.    //郵件內容,注意加參數true,表示啟用html格式   
          19.    messageHelper.setText("<html><head></head><body><h1>hello!!chao.wang</h1></body></html>",true);   
          20.    sender.send(mailMessage);   
          21.   } catch (Exception e) {   
          22.    e.printStackTrace();   
          23.   }   
          24.  }  
           

          發送html格式并帶有附件的Email:

          Java代碼 復制代碼 收藏代碼
          1. public class SendMail {   
          2.  public ApplicationContext ctx = null;   
          3.  public SendMail() {   
          4.   //獲取上下文   
          5.   ctx = new ClassPathXmlApplicationContext("applicationContext.xml");   
          6.  }   
          7.  public void send() {   
          8.   //獲取JavaMailSender bean   
          9.   JavaMailSender sender = (JavaMailSender) ctx.getBean("mailSender");   
          10.   JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();   
          11.   MimeMessage mailMessage = senderImpl.createMimeMessage();   
          12.   //設置utf-8或GBK編碼,否則郵件會有亂碼   
          13.   MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,true,"utf-8");   
          14.   try {   
          15.    messageHelper.setTo(email.getEmail());//接受者      
          16.    messageHelper.setFrom("xxx@163.com");//發送者   
          17.    messageHelper.setSubject("測試郵件");//主題   
          18.    //郵件內容,注意加參數true   
          19.    messageHelper.setText("<html><head></head><body><h1>hello!!chao.wang</h1></body></html>",true);   
          20.    //附件內容   
          21.    messageHelper.addInline("a"new File("E:/xiezi.jpg"));   
          22.    messageHelper.addInline("b"new File("E:/logo.png"));    
          23.    File file=new File("E:/測試中文文件.rar");     
          24.    // 這里的方法調用和插入圖片是不同的,使用MimeUtility.encodeWord()來解決附件名稱的中文問題   
          25.    messageHelper.addAttachment(MimeUtility.encodeWord(file.getName()), file);    
          26.    sender.send(mailMessage);   
          27.   } catch (Exception e) {   
          28.    e.printStackTrace();   
          29.   }   
          30.  }  

          評論

          # re: 使用Spring JavaMail發送郵件總結  回復  更多評論   

          2013-06-14 10:30 by sd
          ddsdsd

          # re: 使用Spring JavaMail發送郵件總結[未登錄]  回復  更多評論   

          2013-07-09 15:43 by dd
          dd

          # re: 使用Spring JavaMail發送郵件總結[未登錄]  回復  更多評論   

          2013-11-28 09:25 by
          不錯的文章

          # re: 使用Spring JavaMail發送郵件總結[未登錄]  回復  更多評論   

          2015-06-15 11:42 by 菜鳥
          你的bean配置的寫錯了一個

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 恩施市| 慈溪市| 巩留县| 简阳市| 黔江区| 和平县| 建平县| 娱乐| 佛山市| 扎鲁特旗| 秦安县| 西城区| 安远县| 田东县| 阜康市| 黄山市| 县级市| 社会| 大兴区| 河东区| 鹿泉市| 二连浩特市| 晋中市| 山西省| 秦皇岛市| 邯郸县| 东光县| 福海县| 通江县| 友谊县| 石泉县| 六枝特区| 齐河县| 穆棱市| 水富县| 海城市| 石泉县| 昌平区| 长治县| 休宁县| 乐陵市|