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

基于Spring的Maven項(xiàng)目實(shí)現(xiàn)發(fā)送郵件功能的示例

 更新時(shí)間:2020年03月12日 08:40:18   作者:Arvinaa  
這篇文章主要介紹了基于Spring的Maven項(xiàng)目實(shí)現(xiàn)發(fā)送郵件功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

問題分析

現(xiàn)在我們有這樣一個(gè)需求,就是當(dāng)我們系統(tǒng)出現(xiàn)問題或bug的時(shí)候,讓系統(tǒng)通過郵件發(fā)送日志信息給相關(guān)人員,那么此時(shí),我們就需要實(shí)現(xiàn)一個(gè)讓系統(tǒng)發(fā)送郵件的功能

解決步驟

1.pom jar包導(dǎo)入

<dependency>
 <groupId>javax.mail</groupId>
 <artifactId>mail</artifactId>
 <version>1.4.1</version>
</dependency>

2.xml配置

application-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.xsd
  ">

<!--配置發(fā)送郵件的核心對象-->
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  <!--郵件發(fā)送協(xié)議-->
  <property name="host" value="smtp.qq.com"/>

  <!--這里的郵箱是你要發(fā)送郵件的郵箱-->
  <property name="username" value="xxxxxx@qq.com"/>
  <!--這里的密碼用的是授權(quán)碼-->
  <property name="password" value="xxxxxxx"/>
  <property name="defaultEncoding" value="UTF-8"/>
  <property name="javaMailProperties">
    <props>
      <!--這里是需要認(rèn)證才能進(jìn)行發(fā)送,防止隨意發(fā)送-->
      <prop key="mail.smtp.auth">true</prop>
      <!-- SMTP加密方式:連接到一個(gè)TLS保護(hù)連接 -->
      <prop key="mail.smtp.starttls.enable">true</prop>
    </props>
  </property>
</bean>
</beans>

3.交給Spring管理

其實(shí)就是將發(fā)送郵件的xml配置文件引入到spring的配置文件中

<!--配置導(dǎo)入配置文件,位置為當(dāng)前目錄平級的plugs文件夾下面的所有.xml文件-->
<import resource="classpath:plugins/*.xml"/>

這里需要說明一下,classpath后面是跟的我的一個(gè)關(guān)于實(shí)現(xiàn)這些功能專門的配置文件的文件夾,然后通配文件夾里面所有.xml的配置文件,當(dāng)然,也可以這樣寫

<import resource="classpath:plugins/applicationContext-mail.xml"/>

這樣配置也完全沒有任何問題,看個(gè)人喜好哈,只是我喜歡把這些相關(guān)的配置文件同一放在一個(gè)文件夾里面,然后統(tǒng)一一起引入

4.代碼實(shí)現(xiàn)

需要說明一下,郵件分為兩種,一種是普通郵件,即文本信息,不含html代碼或附件,另一個(gè)種就是包含html代碼和附件的,這兩種方式相同的是都需要在發(fā)送郵件的類里面引入發(fā)送郵件的核心對象

@Autowired
private JavaMailSender javaMailSender;

4.1 普通郵件

需要注意的是這里發(fā)送郵件的地址必須是applicaiton-mail.xml中所配置的username

  //獲取郵箱對象
  SimpleMailMessage message = new SimpleMailMessage();

  //設(shè)置由哪個(gè)郵箱發(fā)出 這里自己定義
  message.setFrom("xxxxxx@qq.com");

  //設(shè)置標(biāo)題
  message.setSubject("測試來了哦");
  //設(shè)置發(fā)送內(nèi)容
  message.setText("我來了,你來了沒");

  //設(shè)置發(fā)送地址 -- 發(fā)給誰
  message.setTo("xxxx@icloud.com");

  //發(fā)送郵件
  javaMailSender.send(message);

4.1 復(fù)雜郵件

 //創(chuàng)建一個(gè)空郵件對象
  MimeMessage mimeMessage = javaMailSender.createMimeMessage();

  //創(chuàng)建發(fā)送復(fù)雜郵件的工具類,并傳入空郵件,設(shè)置是否有附件為true和編碼集
  MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");

  //設(shè)置發(fā)送郵件的郵箱地址,必須和xml里面配置一致
  messageHelper.setFrom("xxxxxx@qq.com");

  //設(shè)置郵件標(biāo)題
  messageHelper.setSubject("復(fù)雜郵件標(biāo)題,就是我");

  //設(shè)置郵件里面的普通內(nèi)容
  messageHelper.setText("我是復(fù)雜郵件,我又來了");

  //設(shè)置復(fù)雜郵件的html代碼,并設(shè)置是否為html為true
  messageHelper.setText("<h2>我是復(fù)雜郵件的html代碼,能實(shí)現(xiàn)不?</h2>",true);

  //添加發(fā)送郵件的附件,是一個(gè)圖片
  messageHelper.addAttachment("hah.png",new File("img/1.png"));

  //添加附件文件
  messageHelper.addAttachment("mf文件",new File("s/login.jsp"));

  //抄送給誰 這里的參數(shù)可以是數(shù)組,即多個(gè)接收對象
  messageHelper.setCc("mmmm@qq.com");
  //發(fā)送給誰 這里的參數(shù)可以是數(shù)組,即多個(gè)接收對象
  messageHelper.setTo("xxxx@icloud.com");

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

5.郵箱配置

注意,大家不要以為現(xiàn)在就可以直接發(fā)送了,還需要大家花一毛錢才行,這個(gè)錢不是給我哈,也不是給郵箱或?yàn)g覽器,而是給到運(yùn)營商,這里就以QQ郵箱為例:

第一步,點(diǎn)擊郵箱首頁左上角的設(shè)置


第二步,選中設(shè)置里面的賬戶設(shè)置


第三步,往下翻,翻到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)

第四步,會讓你發(fā)送短信,這時(shí)候就可以直接發(fā)送短信,這里就到了收錢的地方,看吧,不是我收哈


最后,當(dāng)發(fā)送成功之后,就會收到一個(gè)授權(quán)碼,記住它,然后填入你的application-mail.xml里面的password欄中,然后再運(yùn)行我們的測試方法即可

到此這篇關(guān)于基于Spring的Maven項(xiàng)目實(shí)現(xiàn)發(fā)送郵件功能的示例的文章就介紹到這了,更多相關(guān)Spring Maven項(xiàng)目發(fā)送郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決CollectionUtils.isNotEmpty()不存在的問題

    解決CollectionUtils.isNotEmpty()不存在的問題

    這篇文章主要介紹了解決CollectionUtils.isNotEmpty()不存在的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 解決mapper自動(dòng)裝配識別不了,Could not autowire.No beans of‘UserMapper‘type found

    解決mapper自動(dòng)裝配識別不了,Could not autowire.No beans&

    文章介紹了在使用MyBatisX插件和MybatisPlus自動(dòng)生成代碼后,如何解決Spring Boot項(xiàng)目中自動(dòng)注入`UserMapper`時(shí)報(bào)錯(cuò)的問題,主要方法包括在主配置類或啟動(dòng)類上添加`@MapperScan`注解,指定Mapper文件夾所在的包路徑,以及在Mapper類上添加`@Repository`注解
    2024-11-11
  • springboot集成kafka消費(fèi)手動(dòng)啟動(dòng)停止操作

    springboot集成kafka消費(fèi)手動(dòng)啟動(dòng)停止操作

    這篇文章主要介紹了springboot集成kafka消費(fèi)手動(dòng)啟動(dòng)停止操作,本文給大家介紹項(xiàng)目場景及解決分析,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Springboot工具類StringUtils使用教程

    Springboot工具類StringUtils使用教程

    這篇文章主要介紹了Springboot內(nèi)置的工具類之StringUtils的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • JAVA格式化時(shí)間日期的簡單實(shí)例

    JAVA格式化時(shí)間日期的簡單實(shí)例

    這篇文章主要介紹了JAVA格式化時(shí)間日期的簡單實(shí)例,有需要的朋友可以參考一下
    2013-11-11
  • 基于idea操作hbase數(shù)據(jù)庫并映射到hive表

    基于idea操作hbase數(shù)據(jù)庫并映射到hive表

    這篇文章主要介紹了用idea操作hbase數(shù)據(jù)庫,并映射到hive,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Spring注解之@Value詳解

    Spring注解之@Value詳解

    這篇文章主要介紹了Spring注解之@Value詳解,@Value可以修飾屬性、方法、參數(shù)、注釋類型,編譯器會將?@Value注解的信息保留在?.class?文件中,并且能被虛擬機(jī)讀取,需要的朋友可以參考下
    2024-01-01
  • 半小時(shí)通透Java的泛型

    半小時(shí)通透Java的泛型

    這篇文章主要給大家介紹了關(guān)于Java中泛型使用的方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(控制臺版本)

    Java實(shí)現(xiàn)學(xué)生管理系統(tǒng)(控制臺版本)

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實(shí)現(xiàn)控制臺版本的學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • spring boot 下對JSON返回值去除null和空字段操作

    spring boot 下對JSON返回值去除null和空字段操作

    這篇文章主要介紹了spring boot 下對JSON返回值去除null和空字段操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10

最新評論

吴江市| 晋江市| 茂名市| 明溪县| 延庆县| 曲松县| 察哈| 德格县| 永宁县| 安平县| 阜城县| 拜泉县| 扎鲁特旗| 荥经县| 开封县| 周宁县| 丰镇市| 泰宁县| 河北区| 龙陵县| 大理市| 韶山市| 朝阳区| 开江县| 本溪市| 台南县| 光山县| 太仆寺旗| 玉龙| 大竹县| 灌南县| 屏山县| 文安县| 长葛市| 灵丘县| 咸宁市| 大庆市| 台江县| 繁峙县| 神农架林区| 全椒县|