posts - 41, comments - 15, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          首先導(dǎo)入使用jar包:activation.jar,commons-logging-1.0.4.jar,mail.jar,spring.jar

           

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

          Xml代碼 復(fù)制代碼 收藏代碼
          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.     <!-- 注意:這里的參數(shù)(如用戶名、密碼)都是針對郵件發(fā)送者的 -->  
          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、發(fā)送Email類:

          Java代碼 復(fù)制代碼 收藏代碼
          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只能用來發(fā)送text格式的郵件</SPAN>   
          11.   
          12.   
          13.   try {   
          14.    mail.setTo("xxx@qq.com");//接受者   
          15.    mail.setFrom("xxxx@163.com");//發(fā)送者,這里還可以另起Email別名,不用和xml里的username一致   
          16.    mail.setSubject("spring mail test!");//主題   
          17.    mail.setText("springMail的簡單發(fā)送測試");//郵件內(nèi)容   
          18.    sender.send(mail);   
          19.   } catch (Exception e) {   
          20.    e.printStackTrace();   
          21.   }   
          22.  }  

           

           發(fā)送html格式的Email:

           

          Java代碼 復(fù)制代碼 收藏代碼
          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.   //設(shè)置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");//發(fā)送者   
          17.    messageHelper.setSubject("測試郵件");//主題   
          18.    //郵件內(nèi)容,注意加參數(shù)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.  }  
           

          發(fā)送html格式并帶有附件的Email:

          Java代碼 復(fù)制代碼 收藏代碼
          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.   //設(shè)置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");//發(fā)送者   
          17.    messageHelper.setSubject("測試郵件");//主題   
          18.    //郵件內(nèi)容,注意加參數(shù)true   
          19.    messageHelper.setText("<html><head></head><body><h1>hello!!chao.wang</h1></body></html>",true);   
          20.    //附件內(nèi)容   
          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.    // 這里的方法調(diào)用和插入圖片是不同的,使用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發(fā)送郵件總結(jié)  回復(fù)  更多評論   

          2013-06-14 10:30 by sd
          ddsdsd

          # re: 使用Spring JavaMail發(fā)送郵件總結(jié)[未登錄]  回復(fù)  更多評論   

          2013-07-09 15:43 by dd
          dd

          # re: 使用Spring JavaMail發(fā)送郵件總結(jié)[未登錄]  回復(fù)  更多評論   

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

          # re: 使用Spring JavaMail發(fā)送郵件總結(jié)[未登錄]  回復(fù)  更多評論   

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 庆元县| 庄浪县| 互助| 长垣县| 阳高县| 麟游县| 闽清县| 苍溪县| 绵竹市| 荔浦县| 电白县| 祁阳县| 鹤峰县| 施秉县| 资阳市| 聊城市| 梨树县| 栾城县| 拜城县| 玉林市| 虹口区| 长阳| 电白县| 阳原县| 沙坪坝区| 洞头县| 禄丰县| 乌兰察布市| 忻州市| 南丰县| 蒙自县| 莎车县| 抚顺县| 新建县| 资源县| 宁远县| 株洲市| 梁河县| 临桂县| 荥阳市| 崇明县|