欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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è)置就不在這里說了,直接去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)無視),內(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)文章

  • 詳解spring boot jpa整合QueryDSL來簡(jiǎn)化復(fù)雜操作

    詳解spring boot jpa整合QueryDSL來簡(jiǎn)化復(fù)雜操作

    這篇文章主要介紹了詳解spring boot jpa整合QueryDSL來簡(jiǎn)化復(fù)雜操作,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java基于jdbc實(shí)現(xiàn)的增刪改查操作示例

    Java基于jdbc實(shí)現(xiàn)的增刪改查操作示例

    這篇文章主要介紹了Java基于jdbc實(shí)現(xiàn)的增刪改查操作,結(jié)合實(shí)例形式分析了java使用jdbc進(jìn)行數(shù)據(jù)庫(kù)的連接、增刪改查等基本操作技巧,需要的朋友可以參考下
    2019-01-01
  • Java Hibernate中的持久化類和實(shí)體類關(guān)系

    Java Hibernate中的持久化類和實(shí)體類關(guān)系

    Hibernate是一種Java對(duì)象關(guān)系映射框架,通過持久化類將Java對(duì)象映射到數(shù)據(jù)庫(kù)表中。持久化類需要實(shí)現(xiàn)無參構(gòu)造器、具有標(biāo)識(shí)屬性和使用注解或XML進(jìn)行映射。Hibernate通過Session來管理對(duì)象的狀態(tài),包括臨時(shí)狀態(tài)、持久化狀態(tài)和游離狀態(tài)
    2023-04-04
  • 在IDEA中配置tomcat并創(chuàng)建tomcat項(xiàng)目的圖文教程

    在IDEA中配置tomcat并創(chuàng)建tomcat項(xiàng)目的圖文教程

    這篇文章主要介紹了在IDEA中配置tomcat并創(chuàng)建tomcat項(xiàng)目的圖文教程,需要的朋友可以參考下
    2020-07-07
  • mybatis注入Date日期值為null的解決方法

    mybatis注入Date日期值為null的解決方法

    這篇文章主要給大家介紹了關(guān)于mybatis注入Date日期值為null的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • java基礎(chǔ)之字符串編碼知識(shí)點(diǎn)總結(jié)

    java基礎(chǔ)之字符串編碼知識(shí)點(diǎn)總結(jié)

    這篇文章主要介紹了java基礎(chǔ)之字符串編碼總結(jié),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,要的朋友可以參考下
    2021-04-04
  • springboot serverEndpoint導(dǎo)致@resource注解不生效

    springboot serverEndpoint導(dǎo)致@resource注解不生效

    在SpringBoot中,@Resource注解用于注入依賴,本文主要介紹了springboot serverEndpoint導(dǎo)致@resource注解不生效,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • tomcat請(qǐng)求流程源碼解進(jìn)階篇

    tomcat請(qǐng)求流程源碼解進(jìn)階篇

    這篇文章主要為大家介紹了tomcat請(qǐng)求流程源碼解進(jìn)階,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 淺談hashmap為什么查詢時(shí)間復(fù)雜度為O(1)

    淺談hashmap為什么查詢時(shí)間復(fù)雜度為O(1)

    這篇文章主要介紹了hashmap為什么查詢時(shí)間復(fù)雜度為O(1),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 老生常談Scanner的基本用法

    老生常談Scanner的基本用法

    下面小編就為大家?guī)硪黄仙U凷canner的基本用法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07

最新評(píng)論