<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    午后星期午

    Spring郵件服務:Maven + Spring SMTP Mail

    前言:當然,發 email 不一定要用 Spring,直接用 javax.mail 的API 就能實現。但是由于 Spring 提供了一個發送電子郵件的高級抽象層,
    它向用戶屏蔽了底層郵件系統的一些細節,同時負責低層次的代表客戶端的資源處理。所以用 Spring 來發送 email 會省事很多和讓發郵件變的簡單許多。
    Spring郵件抽象層的主要包為org.springframework.mail。它包括了發送電子郵件的主要接口MailSender和封裝了簡單郵件屬性的值對象SimpleMailMessage。

    環境:
    Spring     2.5.6 
    Javamail  1.4.4 
    Maven     3.0.4 
    Myeclipse 8.6.1

    項目結構:


    spring-smtp-mail.xml
    <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.5.xsd">
      
        
    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
           
    <!-- 服務器 -->
            
    <property name="host" value="smtp.yeah.net" />
            
    <!-- 端口號 -->
            
    <property name="port" value="25" />
            
    <!-- 用戶名 -->
            
    <property name="username" value="fancydeepin@yeah.net" />
            
    <!--  密碼   -->
            
    <property name="password" value="********" />
            
    <!-- SMTP服務器驗證 -->
            
    <property name="javaMailProperties">
                
    <props>
                    
    <!-- 驗證身份 -->
                   
    <prop key="mail.smtp.auth">true</prop>
               
    </props>
            
    </property>
        
    </bean>
        
    <!-- 
           目前我用過的EMAIL賬號都是網易的,下面列出網易的SMTP服務器名和端口號:
            網易郵箱          SMTP服務器     SMTP端口     POP3服務器       POP3端口
            @126.com     smtp.126.com      25          pop3.126.com      110
            @163.com     smtp.163.com      25          pop3.163.com      110
            @yeah.net    smtp.yeah.net      25          pop3.yeah.net     110
        
    -->
        
        
    <bean id="simpleMailMessage" class="org.springframework.mail.SimpleMailMessage">
           
    <!-- 發件人email -->
            
    <property name="from" value="fancydeepin@yeah.net" />
            
    <!-- 
             收件人email
            <property name="to" value="to@yeah.net" />
            email主題(標題)
            <property name="subject" value="Subject" />
            email主題內容
            <property name="text">
              <value>ContentText</value>
            </property>
            
    -->
        
    </bean>
        
        
    <bean id="simpleMail" class="com.fancy.util.Email">
            
    <property name="mailSender" ref="mailSender" />
            
    <property name="simpleMailMessage" ref="simpleMailMessage" />
        
    </bean>
        
    </beans>

    Email.java
    package com.fancy.util;

    import org.springframework.mail.MailSender;
    import org.springframework.mail.SimpleMailMessage;
    /**
     * -----------------------------------------
     * @文件: Email.java
     * @作者: fancy
     * @郵箱: fancydeepin@yeah.net
     * @時間: 2012-6-11
     * @描述: 發送Email工具類
     * -----------------------------------------
     
    */

    public class Email {
        
        
    private MailSender mailSender;
        
    private SimpleMailMessage simpleMailMessage;
        
      
    /**
         * @方法名: sendMail 
         * @參數名:
    @param subject  郵件主題
         * @參數名:
    @param content 郵件主題內容
         * @參數名:
    @param to         收件人Email地址
         * @描述語: 發送郵件
         
    */

        
    public void sendMail(String subject, String content, String to) {
            
            simpleMailMessage.setSubject(subject); 
    //設置郵件主題
            simpleMailMessage.setTo(to);             //設定收件人
            simpleMailMessage.setText(content);  //設置郵件主題內容
            mailSender.send(simpleMailMessage); //發送郵件
        }

         
    //Spring 依賴注入
        public void setSimpleMailMessage(SimpleMailMessage simpleMailMessage) {
            
    this.simpleMailMessage = simpleMailMessage;
        }

         
    //Spring 依賴注入
        public void setMailSender(MailSender mailSender) {
            
    this.mailSender = mailSender;
        }

    }


    Junit Test:EmailTest.java
    package com.fancy.test;

    import junit.framework.TestCase;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import com.fancy.util.Email;
    /**
     * -----------------------------------------
     * @文件: EmailTest.java
     * @作者: fancy
     * @郵箱: fancydeepin@yeah.net
     * @時間: 2012-6-11
     * @描述: Junit測試,運行將發送一封email
     * -----------------------------------------
     
    */

    public class EmailTest extends TestCase {

        
    public void testSendMail() {
            ApplicationContext context 
    = new ClassPathXmlApplicationContext("spring-smtp-mail.xml");
            Email mail 
    = (Email)context.getBean("simpleMail");
            mail.sendMail(
    "Spring SMTP Mail Subject""Spring SMTP Mail Text""fancydeepin@yeah.net");
            
    //mail.sendMail("標題", "內容", "收件人郵箱");
        }


    }


    EmailAppTest.java 也是一個測試類,跟 Junit 的 EmailTest.java 是幾乎一樣的,這里就不貼出來了,再來看下 Maven:

    pom.xml
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation
    ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      
    <modelVersion>4.0.0</modelVersion>
      
    <groupId>com.fancy</groupId>
      
    <artifactId>spring-mail-example</artifactId>
      
    <version>1.0</version>
      
    <packaging>jar</packaging>
      
    <name>spring-mail-example</name>
      
    <url>http://maven.apache.org</url>
      
    <properties>
        
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      
    </properties>

      
    <dependencies>
      
        
    <!-- Spring framework -->
        
    <dependency>
          
    <groupId>org.springframework</groupId>
          
    <artifactId>spring</artifactId>
          
    <version>2.5.6</version>
        
    </dependency>
        
        
    <!-- Javamail API -->
        
    <dependency>
          
    <groupId>javax.mail</groupId>
          
    <artifactId>mail</artifactId>
          
    <version>1.4.4</version>
        
    </dependency>
        
        
    <dependency>
          
    <groupId>junit</groupId>
          
    <artifactId>junit</artifactId>
          
    <version>3.8.1</version>
          
    <scope>test</scope>
        
    </dependency>
        
      
    </dependencies>
    </project>

    Run 一下 EmailTest.java,稍等一會就能收到一封 Email






    OK,郵件發送成功。另外,在用網易郵箱測試的時候,發現不進行 SMTP驗證 郵件也能發送成功,曾在 Shopxx 中提到,
    如果是 Gmail 就必須配置SMTP服務器驗證,否則拋出異常,發送會失敗。


       [ 轉載出處:http://www.tkk7.com/fancydeepin ]

    posted on 2013-12-31 13:50 午后星期午 閱讀(305) 評論(0)  編輯  收藏 所屬分類: JavaEE

    主站蜘蛛池模板: 亚洲美女自拍视频| 午夜影视在线免费观看| 国产三级电影免费观看| 亚洲国产精品免费在线观看| 精品国产免费一区二区三区| 亚洲国产午夜福利在线播放| 婷婷亚洲综合一区二区 | 男男AV纯肉无码免费播放无码 | 久久久久久久综合日本亚洲| 免费人成在线观看播放a| 四虎影视在线永久免费观看| a级黄色毛片免费播放视频| 亚洲女同成av人片在线观看| a级毛片免费全部播放| 99999久久久久久亚洲| 最近2019中文字幕免费看最新 | 内射干少妇亚洲69XXX| 四虎在线最新永久免费| 久久久亚洲AV波多野结衣| 国产免费无遮挡精品视频| 18禁美女黄网站色大片免费观看| 亚洲成av人片在线看片| 亚洲乱码中文字幕综合234| 无人在线直播免费观看| 亚洲欧洲AV无码专区| 精品国产麻豆免费网站| 国产精品免费看久久久| 亚洲卡一卡2卡三卡4麻豆| 免费的涩涩视频在线播放| 国产一区二区三区免费| 亚洲国产综合人成综合网站00| 亚洲精品综合久久| 性一交一乱一视频免费看| 一级毛片在线免费播放| 亚洲av午夜福利精品一区| 一二三四视频在线观看中文版免费| 亚洲av永久无码天堂网| 亚洲熟妇丰满多毛XXXX| 免费h黄肉动漫在线观看| 久久精品电影免费动漫| 一级白嫩美女毛片免费|