亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

SpringBoot集成郵件發(fā)送

番茄西紅柿 / 3242人閱讀

摘要:協(xié)議默認(rèn)為,協(xié)議默認(rèn)為如果設(shè)置為如果設(shè)置,并且未指定套接字工廠,則啟用如果設(shè)置為如果設(shè)置為擴(kuò)展如果設(shè)置,則指定擴(kuò)展指定將為連接啟用的協(xié)議。

 一:簡(jiǎn)述

  在日常中的工作中難免會(huì)遇到程序集成郵件發(fā)送功能、接收功能;此篇文章我將使用SpringBoot集成郵件發(fā)送功能和接收功能;若對(duì)郵件一些基本協(xié)議和發(fā)送流程不懂的請(qǐng)務(wù)必參考我之前寫的博客或者瀏覽網(wǎng)上資料。

郵件基本概念及發(fā)送方式】   【JavaMail發(fā)送郵件(超詳細(xì)

二:SpringBoot發(fā)送郵件的基本說明

   在我們現(xiàn)在使用的SpringBoot的版本中,底層發(fā)送郵件的技術(shù)都是使用一個(gè)叫 Jakarta Mail 的,它可有實(shí)現(xiàn)SMTP、POP、IMAP等基本的郵件發(fā)送和接收協(xié)議,因?yàn)榍皟善叶冀榻B了,這里就不在多說,直接上干貨??!

1:基本環(huán)境及坐標(biāo)依賴

  使用SpringBoot腳手架創(chuàng)建一個(gè)SpringBoot項(xiàng)目后導(dǎo)入下面郵件發(fā)送坐標(biāo),或者在腳手架創(chuàng)建中也可有選擇

    org.springframework.boot

2:快速上手發(fā)送郵件

  在發(fā)送郵件前我簡(jiǎn)單說說JavaMailSenderJavaMailSenderImpl;它們是Spring官方提供的一套郵件功能集成接口及實(shí)現(xiàn),底層調(diào)用具體的Jakarta Mail技術(shù);可以說是二次封裝;使用SpringBoot提供的接口及實(shí)現(xiàn)是后端郵件發(fā)送最主流的集成工具;我們?cè)跇I(yè)務(wù)里直接注入JavaMailSenderImpl后并調(diào)用send方法。其中簡(jiǎn)單的郵件我們可以通過SimpleMailMessage來發(fā)送,對(duì)于復(fù)雜的帶有附件的我們可以借助MimeMessageHelper來構(gòu)建MimeMessage發(fā)送郵件。

spring..host=smtp.163.spring..username=spring..password=xxxxxxxxxxxxxxx
        SimpleMailMessage message = "antladdie@163.com");                   message.setTo("xiaofeng504@qq.com");                    message.setCc("xiaofeng500@qq.com");                    message.setBcc("575814158@qq.com");                     message.setSubject("繳費(fèi)通知");                          message.setText("您手機(jī)已欠費(fèi)100元,請(qǐng)及時(shí)繳費(fèi)!");         message.setSentDate( Date());

3:集成郵件的基本配置(約定大于配置)

  這里的 Jakarta Mail properties 擴(kuò)展配置不理解的可以參考 官方文檔  ; 不過英文的看著頭大,這里我將其翻譯了

    要連接的 SMTP 服務(wù)器端口,如果 connect() 方法沒有明確指定一個(gè)。默認(rèn)為 25    以毫秒為單位的套接字連接超時(shí)值。這個(gè)超時(shí)是由 java.net.    以毫秒為單位的套接字讀取超時(shí)值。這個(gè)超時(shí)是由 java.net.    以毫秒為單位的套接字寫入超時(shí)值。此超時(shí)是通過對(duì)每個(gè)連接使用 java.util.concurrent.    用于 SMTP  命令的電子郵箱地址。這將設(shè)置信封返回地址。默認(rèn)為 msg.getFrom() 或 InternetAddress..smtp.    SMTP HELO 或 EHLO 命令中使用的本地主機(jī)名。默認(rèn)為InetAddress.getLocalHost().getHostName().    如果為     如果為 "LOGIN PLAIN DIGEST-MD5 NTLM"    如果為     如果為     如果為 ,則阻止使用該AUTH DIGEST-    如果為     NTLM 協(xié)議特定標(biāo)志。有關(guān)詳細(xì)信息,請(qǐng)參閱 http:    如果為 ,則阻止使用該AUTHENTICATE XOAUTH2命令。由于 OAuth 2.0”或?qū)ⅰ?smtp.auth.    要在         如果設(shè)置為 ,并且服務(wù)器支持 8BITMIME 擴(kuò)展,則使用“quoted-    如果設(shè)置為     如果設(shè)置為 ,則嘗試使用 javax.security.    用于 DIGEST-    如果設(shè)置為 ,則返回的規(guī)范主機(jī)名將 InetAddress.    如果設(shè)置為 ,則發(fā)送 QUIT 命令并立即關(guān)閉連接。如果設(shè)置為     如果設(shè)置為     如果設(shè)置為     如果設(shè)置為實(shí)現(xiàn)該javax.net.    如果設(shè)置,則指定實(shí)現(xiàn)javax.net.    如果設(shè)置為 ,則無(wú)法使用指定的套接字工廠類創(chuàng)建套接字將導(dǎo)致使用java.net.    如果設(shè)置為 ,則默認(rèn)使用 SSL 連接并使用 SSL 端口?!皊mtp”協(xié)議默認(rèn)為 ,“smtps”協(xié)議默認(rèn)為     如果設(shè)置為     如果設(shè)置,并且未指定套接字工廠,則啟用 MailSSLSocketFactory. 如果設(shè)置為“*    如果設(shè)置為擴(kuò)展 javax.net.ssl.    如果設(shè)置,則指定擴(kuò)展javax.net.ssl.    指定將為 SSL 連接啟用的 SSL 協(xié)議。屬性值是該javax.net.ssl.SSLSocket.    指定將為 SSL 連接啟用的 SSL 密碼套件。屬性值是該javax.net.ssl.SSLSocket.    如果為 .smtp.starttls.    如果為     指定 HTTP Web 代理服務(wù)器的端口號(hào)。默認(rèn)為端口 80    指定 SOCKS5 代理服務(wù)器的端口號(hào)。僅當(dāng)代理服務(wù)器未使用標(biāo)準(zhǔn)端口號(hào) 1080    附加到 1869    如果設(shè)置為 (默認(rèn)值),則堅(jiān)持來自 NOOP 命令的 250 以處理以這種方式損壞的服務(wù)器。通常,當(dāng)服務(wù)器超時(shí)連接時(shí),它會(huì)發(fā)送 421.sun...sun...sun...sun..smtp.
創(chuàng)建郵件會(huì)話Session內(nèi)可配置的properties屬性(中文)
spring..host=smtp.163.spring..port=25spring..protocol=spring..username=spring..password=spring..-encoding=UTF-8spring..properties..smtp.from=antladdie@163.spring..properties..smtp.auth=spring..properties..smtp.timeout=60000spring..properties..smtp.connectiontimeout=60000spring..properties..smtp.writetimeout=60000spring..properties..debug=

三:復(fù)雜郵件發(fā)送 HTML+圖片資源+附件

 testMailB()         MimeMessage mimeMessage ==  MimeMessageHelper(mimeMessage, "antladdie@163.com");                   messageHelper.setTo("xiaofeng504@qq.com");                    messageHelper.setCc("xiaofeng500@qq.com");                    messageHelper.setBcc("575814158@qq.com");                     messageHelper.setSubject("繳費(fèi)通知");                          String rootPath = Objects.requireNonNull(SpringbootJakartamailApplicationTests..getClassLoader().getResource("file"=  FileSystemResource( File(rootPath + "/ab.png"=  FileSystemResource( File(rootPath + "/student.xls"=  FileSystemResource( File(rootPath + "/mu.mp3"=  FileSystemResource( File(rootPath + "/redis.zip"        messageHelper.setText("",         FileSystemResource resPng =  FileSystemResource( File(rootPath + "/b.png""p01"

四:復(fù)雜郵件發(fā)送使用Thymeleaf模板

  使用模板和不使用模板沒太大區(qū)別,只是使用模板則將xx.html文件渲染成String類型的字符串文本再引用

    org.thymeleaf
doctype html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head>    <meta charset="UTF-8">    <meta name="viewport"          content="width=device-width, user-scalable=no,           initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <title>Documenttitle>head><body><h2 style=color:#f00;>    <span th:text="${message}">span>    <img src=cid:p01 alt= style=width:200px;height:50px;>h2>body>html>
emailTemplate.html模板文件
                 ClassLoaderTemplateResolver resolver =         resolver.setPrefix("/file/"".html"        TemplateEngine engine =         Context context =         context.setVariable("message","欠費(fèi)通知:你已經(jīng)欠費(fèi)100元"         engine.process("emailTemplate"

5:結(jié)尾

  講到這,已經(jīng)對(duì)SpringBoot集成郵件發(fā)送功能說完了,若想知道如何接收并解析郵件請(qǐng)參考我上面給出的博客,使用javaMail發(fā)送和接收郵件;不過話說回來在大部分公司里使用SMTP、POP3協(xié)議發(fā)送和接收是完全夠用的,不過我上次在項(xiàng)目組負(fù)責(zé)郵箱的發(fā)送使用的是內(nèi)網(wǎng)的企業(yè)郵箱,走的是Exchange協(xié)議,這個(gè)就和我們之前講的不一樣的,下一篇我將帶大家看看如何使用Exchange方法發(fā)送郵件。

作者:螞蟻小哥
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須在文章頁(yè)面給出原文鏈接,否則保留追究法律責(zé)任的權(quán)利。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/125685.html

相關(guān)文章

  • SpringBoot非官方教程 | 第二十一篇: springboot集成JMS

    摘要:對(duì)提供了很好的支持,對(duì)其做了起步依賴。構(gòu)架工程創(chuàng)建一個(gè)工程,在其文件加入添加配置在中填寫自己的郵箱密碼。啟用設(shè)置附件發(fā)送郵件郵件已發(fā)送測(cè)試已全部通過,沒有坑。 springboot對(duì)JMS提供了很好的支持,對(duì)其做了起步依賴。 構(gòu)架工程 創(chuàng)建一個(gè)springboot工程,在其pom文件加入: org.springframework.boot spring-boot-st...

    roundstones 評(píng)論0 收藏0
  • 市長(zhǎng)信箱郵件查詢服務(wù): SpringBoot集成Docker上Redis服務(wù)

    摘要:集成上服務(wù)在我的應(yīng)用中希望能使用一些的特性比如這樣的數(shù)據(jù)結(jié)構(gòu)如果能方便的在開發(fā)環(huán)境中使用起來就好了如何集成呢這里依然使用和來幫忙通過使用我們就能快速的部署好服務(wù)而通過使用我們能快速的把集成進(jìn)我們的服務(wù)并能使用提供的模板方法方便的調(diào)用的使用快 SpringBoot集成Docker上Redis服務(wù) 在我的應(yīng)用中, 希望能使用一些redis的特性:比如zset這樣的數(shù)據(jù)結(jié)構(gòu),如果能方便的在開...

    lanffy 評(píng)論0 收藏0
  • SpringBoot 2.X Kotlin系列之JavaMailSender發(fā)送郵件

    摘要:在很多服務(wù)中我經(jīng)常需要用到發(fā)送郵件功能,所幸的是可以快速使用的框架,只要引入改框架我們可以快速的完成發(fā)送郵件功能。引入獲取郵件發(fā)送服務(wù)器配置在國(guó)內(nèi)用的最多的就是郵件和網(wǎng)易郵件,這里會(huì)簡(jiǎn)單講解獲取兩家服務(wù)商的發(fā)送郵件配置。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 在很多服務(wù)中我...

    derek_334892 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<