最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring實(shí)現(xiàn)郵件發(fā)送功能

 更新時(shí)間:2017年11月16日 15:18:49   作者:二十六度半  
這篇文章主要為大家詳細(xì)介紹了Spring實(shí)現(xiàn)郵件發(fā)送功能,簡(jiǎn)單的發(fā)送郵件工具JavaMailSender使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前言:以前都是直接用Java自帶的郵件工具發(fā)送郵件,現(xiàn)在Spring幫我們做了封裝,提供了更好用更簡(jiǎn)單的發(fā)送郵件工具JavaMailSender,關(guān)于郵件服務(wù)器的設(shè)置就不在這里說(shuō)了,直接去QQ郵箱設(shè)置下就好,下面看下主要的步驟: 

步驟一、添加發(fā)送郵件相關(guān)Maven依賴

<!-- Spring 郵件發(fā)送 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4.7</version>
    </dependency>    

步驟二、添加相關(guān)Spring配置,創(chuàng)建一個(gè)spring-mail.xml(如果是Spring-Boot請(qǐng)無(wú)視),內(nèi)容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd ">

  <!-- Spring JavaMailSender -->
  <bean class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="smtp.qq.com"></property>
    <!-- 或許你可以用465端口,默認(rèn)的25不適合 -->
    <property name="port" value="587"/>
    <property name="protocol" value="smtp"/>
    <property name="username" value="******@qq.com"></property>
    <!-- 這里的是你在QQ郵箱發(fā)送開通SMTP短信后,獲取的授權(quán)碼 -->
    <property name="password" value="******"></property>
    <property name="defaultEncoding" value="UTF-8"/>
    <property name="javaMailProperties">
      <props>
        <prop key="mail.smtp.auth">true</prop>
        <prop key="mail.smtp.timeout">25000</prop>
      </props>
    </property>
  </bean>
</beans>

步驟三、創(chuàng)建具體的郵件發(fā)送工具類

/**
 * 基于Spring的JavaMailSender的郵件發(fā)送工具類
 * @author simon
 *
 */
@Component
public class EmailSender {
  
  @Autowired
  private JavaMailSender javaMailSender;
  
  private static EmailSender emailSender;
  
  @PostConstruct
  public void init() {
    emailSender = this;
    emailSender.javaMailSender= this.javaMailSender;
  }
  
  /**
   * 發(fā)送簡(jiǎn)單的文本郵件
   * @param sendTo    收件人組
   * @param subject    主題
   * @param content    文本內(nèi)容
   */
  public static void sendSimpleMessage(String sendFrom, String[] sendTo, String subject, String textcontent) {
    SimpleMailMessage mail = new SimpleMailMessage();
    mail.setFrom(sendFrom);
    mail.setTo(sendTo);
    mail.setSubject(subject);
    mail.setText(textcontent);
    //發(fā)送
    emailSender.javaMailSender.send(mail);
  }
  
  /**
   * 發(fā)送HTML內(nèi)容格式的郵件
   * @param sendFrom
   * @param sendTo      收件人組
   * @param subject      主題
   * @param htmlContent    HTML內(nèi)容
   * @throws Exception
   */
  public static void sendHtmlMessage(String sendFrom, String[] sendTo, String subject, String htmlContent) throws Exception {
    MimeMessage mimeMessage = emailSender.javaMailSender.createMimeMessage(); 
    
    MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage);
    mimeMessageHelper.setFrom(sendFrom);
    mimeMessageHelper.setTo(sendTo);
    mimeMessageHelper.setSubject(subject);
    // true 表示啟動(dòng)HTML格式的郵件 
    mimeMessageHelper.setText(htmlContent, true); 

    // 發(fā)送郵件
    emailSender.javaMailSender.send(mimeMessage);
  }
  
}

步驟四、創(chuàng)建單元測(cè)試測(cè)試發(fā)送郵件

/**
 * 郵件發(fā)送測(cè)試類
 * 
 * @author simon
 *
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class EmailSenderTest {

  @Test
  public void testSend() throws Exception {
    String sendFrom = "1317492210@qq.com";
    String[] sendTo = {"zhaosheng@hitencent.com"};
    String subject = "Spring自帶JavaMailSender發(fā)送的HTML郵件";
    StringBuilder htmlContent = new StringBuilder()
        .append("<html>")
        .append("<head>")
        .append("<title>")
        .append("Spring自帶JavaMailSender發(fā)送的HTML郵件")
        .append("</title>")
        .append("</head>")
        .append("<body>")
        .append("您好!陌生人<p/>")
        .append("</body>")
        .append("</html>");
    
    EmailSender.sendHtmlMessage(sendFrom, sendTo, subject, htmlContent.toString());
    System.out.println("郵件發(fā)送成功.");
  }


OK,到這里全部的步驟就結(jié)束了,是不是比Java Mail簡(jiǎn)單方便很多哉,趕緊自己動(dòng)手試試吧!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaSE中Lambda表達(dá)式的使用與變量捕獲

    JavaSE中Lambda表達(dá)式的使用與變量捕獲

    這篇文章主要介紹了JavaSE中Lambda表達(dá)式的使用與變量捕獲,Lambda表達(dá)式允許你通過(guò)表達(dá)式來(lái)代替功能接口, 就和方法一樣,它提供了一個(gè)正常的參數(shù)列表和一個(gè)使用這些參數(shù)的主體,下面我們來(lái)詳細(xì)看看,需要的朋友可以參考下
    2023-10-10
  • Spingmvc中的HandlerMapping剖析

    Spingmvc中的HandlerMapping剖析

    這篇文章主要介紹了Spingmvc中的HandlerMapping剖析,Spingmvc中的HandlerMapping負(fù)責(zé)解析請(qǐng)求URL,對(duì)應(yīng)到Handler進(jìn)行處理,這里的Handler一般為Controller里的一個(gè)方法method,也可以為servlet或者Controller等,需要的朋友可以參考下
    2023-09-09
  • mybatisplus解除分頁(yè)限制的實(shí)現(xiàn)

    mybatisplus解除分頁(yè)限制的實(shí)現(xiàn)

    這篇文章主要介紹了mybatisplus解除分頁(yè)限制的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Spring 依賴注入的幾種方式詳解

    Spring 依賴注入的幾種方式詳解

    本篇文章主要介紹了Spring 依賴注入的幾種方式詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • 解決spring boot網(wǎng)關(guān)gateway導(dǎo)致的坑,無(wú)法下載文件問(wèn)題

    解決spring boot網(wǎng)關(guān)gateway導(dǎo)致的坑,無(wú)法下載文件問(wèn)題

    這篇文章主要介紹了解決spring boot網(wǎng)關(guān)gateway導(dǎo)致的坑,無(wú)法下載文件的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • mybatis中的if-else及if嵌套使用方式

    mybatis中的if-else及if嵌套使用方式

    這篇文章主要介紹了mybatis中的if-else及if嵌套使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • ClassLoader類加載源碼解析

    ClassLoader類加載源碼解析

    這篇文章主要為大家詳細(xì)解析了ClassLoader類加載源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • java編程題之合并兩個(gè)排序的鏈表

    java編程題之合并兩個(gè)排序的鏈表

    這篇文章主要為大家詳細(xì)介紹了java編程題之合并兩個(gè)排序的鏈表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • SpringBoot之為何推薦使用構(gòu)造器注入

    SpringBoot之為何推薦使用構(gòu)造器注入

    這篇文章主要介紹了SpringBoot之為何推薦使用構(gòu)造器注入問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • intellij idea 將模塊打jar包的步驟詳解

    intellij idea 將模塊打jar包的步驟詳解

    這篇文章主要介紹了intellij idea 將模塊打jar包的步驟,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09

最新評(píng)論

资阳市| 兴城市| 萍乡市| 垦利县| 江北区| 华亭县| 怀仁县| 宁陕县| 景德镇市| 拉孜县| 琼结县| 石屏县| 苗栗县| 务川| 罗甸县| 新津县| 吉水县| 龙岩市| 湖州市| 若羌县| 广东省| 北宁市| 华阴市| 洛川县| 邻水| 龙江县| 平定县| 鸡泽县| 南乐县| 临猗县| 襄樊市| 甘孜| 怀集县| 青冈县| 修文县| 铜山县| 白玉县| 高碑店市| 永州市| 大庆市| 龙州县|