亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用java實現(xiàn)BBS論壇發(fā)送郵件過程詳解

 更新時間:2021年04月13日 17:22:21   作者:狗哥狗弟齊頭并進  
這篇文章主要介紹了使用java發(fā)送郵件過程詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

SpringBoot實踐,開發(fā)社區(qū)登錄模塊今日份開啟 發(fā)送郵件三個步驟:

1、郵箱設置

首先需要注冊一個新浪郵箱 18215626061@sina.cn

然后進入設置開啟POP3/SMTP服務,務必記住授權碼

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

左下角點開啟

2、Spring Email

導入jar包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
    <version>2.4.4</version>
</dependency>

然后在IDEA中的application中配置郵箱的相關設置

可以創(chuàng)建.properties也可以創(chuàng)建.yaml。分別如下:

在這里插入圖片描述

在這里插入圖片描述

此處password為授權碼 有的郵箱的密碼需要隱匿的設置為授權碼,否則會錯誤,這里不用授權碼的話可以換回密碼。

這里我們創(chuàng)建一個util包,然后創(chuàng)建MailClient類,這里因為發(fā)郵件的時候是要委托新浪郵箱,所以這里是一個Client類。來進行委托的業(yè)務處理。

此處用到的最關鍵的核心組件是:

JavaMailSender

JavaMailSender

JavaMailSender

我自己記不住,所以多些幾遍加深記憶。 Java實現(xiàn)發(fā)送email用到的是與郵件發(fā)送相關的類,那么就是MailSender類。

發(fā)送郵件涉及的關鍵字:發(fā)送人,發(fā)送到哪里(To),郵件主題,還有郵件內容。分別用(from,to,subject,context)表示。

JavaMailSender的源碼如下

在這里插入圖片描述

可以看到第一步是有一個MimeMessage所以看如下代碼

@Component
public class MailClient {
private staticfinal Logger logger= LoggerFactory.getLogger(MailClient.class);
@Autowired
private JavaMailSender javaMailSender;
@Value("${spring.mail.username}")
private String from;
public voidsendMail(String to,String subject,String context){
     try {
      MimeMessage message= javaMailSender.createMimeMessage();
      MimeMessageHelper helper = new MimeMessageHelper(message);
      helper.setFrom(from);
      helper.setTo(to);
      helper.setSubject(subject);
      helper.setText(context,true);//不加true表示是默認文本,加了true表示支持html文本
      javaMailSender.send(helper.getMimeMessage());
      } catch (MessagingException e) {
        logger.error("發(fā)送郵件失敗"+e.getMessage());
       }
   }
}

測試類

@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = CommunityApplication.class)
public class MailTests {
    @Autowired
    private MailClient mainClient;
    @Test
    public void  testTextMail(){
        mainClient.sendMail("596844484@qq.com","java yyds", "Welcome");
    }
}

然后果不其然出現(xiàn)了錯誤

然后果不其然出現(xiàn)了錯誤

然后果不其然出現(xiàn)了錯誤

在這里插入圖片描述

產生這個錯誤的原因去查了查是因為授權碼的問題,解決這個問題可以閱讀文章末尾補充文章

然后經過種種我把新浪微博換成了網易163的郵箱

在這里插入圖片描述

并按照解決辦法去修改。測試成功

在這里插入圖片描述

3、使用Thymeleaf模板發(fā)送html文本

先寫一個html文件

在這里插入圖片描述

在這里插入圖片描述

附上代碼

@Autowired
private TemplateEngine templateEngine;
@Test
//注意這里的Context 是Thymeleaf下的
public void testTextMailHtml(){
  Context context=new Context();
  context.setVariable("username", "小傻瓜"); //從這里取值
  String process = templateEngine.process("/mail/demo", context);
  System.out.println(process);
  mailClient.sendMail("18215626061@sina.com","java yyds", "Welcome");
}

在這里插入圖片描述

下面讓我們想一想開始發(fā)郵箱時的為什么會報錯。

報錯信息如下圖:

查了查資料,才發(fā)現(xiàn),如果是163郵箱發(fā)送郵件,password配置的需要是163的授權碼。如下圖:

這樣就解決了報錯問題。

以上就是使用JavaMailSender發(fā)送郵箱的過程。歡迎各位讀者指正。更多關于java的資料請關注腳本之家其它相關文章!,希望大家以后多多支持腳本之家!

相關文章

  • JAVA中字符串函數subString的用法小結

    JAVA中字符串函數subString的用法小結

    本篇文章主要是對JAVA中字符串函數subString的用法進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • Java中類與對象的相關知識點總結

    Java中類與對象的相關知識點總結

    對象是類實例化出來的,對象中含有類的屬性,類是對象的抽象,下面這篇文章主要給大家介紹了關于Java中類與對象的一些相關知識點,需要的朋友可以參考下
    2021-11-11
  • java獲取文件大小的幾種方法

    java獲取文件大小的幾種方法

    這篇文章主要介紹了java獲取文件大小的幾種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java如何利用狀態(tài)模式(state pattern)替代if else

    Java如何利用狀態(tài)模式(state pattern)替代if else

    這篇文章主要給大家介紹了關于Java如何利用狀態(tài)模式(state pattern)替代if else的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Java卡片布局管理器解釋及實例

    Java卡片布局管理器解釋及實例

    這篇文章主要介紹了Java卡片布局管理器解釋及實例,需要的朋友可以參考下。
    2017-09-09
  • 東方通TongWeb結合Spring-Boot使用的實現(xiàn)

    東方通TongWeb結合Spring-Boot使用的實現(xiàn)

    本文主要介紹了東方通TongWeb結合Spring-Boot使用的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • Feign實現(xiàn)多文件上傳,Open?Feign多文件上傳問題及解決

    Feign實現(xiàn)多文件上傳,Open?Feign多文件上傳問題及解決

    這篇文章主要介紹了Feign實現(xiàn)多文件上傳,Open?Feign多文件上傳問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • java List去掉重復元素的幾種方式(小結)

    java List去掉重復元素的幾種方式(小結)

    這篇文章主要介紹了java List去掉重復元素的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Springboot常用方法參數注解示例詳解

    Springboot常用方法參數注解示例詳解

    這篇文章主要介紹了Springboot常用方法參數注解及示例,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • 利用maven deploy上傳本地jar至私服的方法

    利用maven deploy上傳本地jar至私服的方法

    這篇文章主要介紹了利用maven deploy上傳本地jar至私服的方法,本文結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-02-02

最新評論