Maven+Spring+郵件發送

Maven+Spring+郵件發送

今天想弄個郵件發送,隨即百度了下,發現很多用到郵件發送的朋友都會遇到各種各樣的問題,包括我也是,遇到了一些問題,下面把我整理好的發出來,按照步驟來,直接可以運行.

  • PS:以下源碼來自百度,並非個人所寫.話不多說,上圖上代碼
    項目:
    這裏寫圖片描述

代碼塊


package com.baidu.action;

import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
/**
 * -----------------------------------------
 * 文件: Email.java
 * 郵箱: [email protected]
 * 描述: 發送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;
    }
}

spring-smtp-mail.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-3.1.xsd">

   <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <!-- 服務器 -->
        <property name="host" value="smtp.sina.com" />
        <!-- 端口號 -->
        <property name="port" value="25" />
        <!-- 用戶名 -->
        <property name="username" value="[email protected]" />
        <!--  密碼   -->
        <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="[email protected]" />

    </bean>

    <bean id="simpleMail" class="com.baidu.action.Email">
        <property name="mailSender" ref="mailSender" />
        <property name="simpleMailMessage" ref="simpleMailMessage" />
    </bean>

</beans>

EmailTest.java

package com.baidu.test;

import junit.framework.TestCase;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.baidu.action.Email;
/**
 * -----------------------------------------
 * 文件: EmailTest.java
 * 描述: 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("標題", "內容", "[email protected]");
        //mail.sendMail("標題", "內容", "收件人郵箱");
    }

}

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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.baidu.maven</groupId>
  <artifactId>mailtest02</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>mailtest02 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>


   <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.2.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.4.RELEASE</version>
    </dependency>

    <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>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>3.2.13.RELEASE</version>
    </dependency>


  </dependencies>
  <build>
    <finalName>mailtest02</finalName>
  </build>
</project>

測試:EmailTest.java 啓動JUnit
這裏寫圖片描述

這裏寫圖片描述

如果發送不出去 ,就進入郵箱進行SMTP設置,如圖:

這裏寫圖片描述

發送一封簡單的郵件 就是以上內容,希望可以給大家帶來幫助.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章