国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

慕課網_《Spring Boot 發送郵件》學習總結

Meathill / 2319人閱讀

摘要:慕課網發送郵件學習總結時間年月日星期六說明本文部分內容均來自慕課網。

慕課網《Spring Boot 發送郵件》學習總結

時間:2018年09月08日星期六

說明:本文部分內容均來自慕課網。@慕課網:https://www.imooc.com

教學源碼:https://github.com/ityouknow/...

學習源碼:https://github.com/zccodere/s...

第一章:背景簡介 1-1 課程介紹

第一部分:背景

郵件使用場景

郵件發送原理

Spring Boot介紹

前置知識

第二部分:實踐

發送文本郵件

發送html郵件

發送附件郵件

發送帶圖片的郵件

郵件模版

郵件系統

1-2 基礎知識

郵件使用場景

注冊驗證

網站營銷

找回密碼

監控告警

觸發機制

郵件發送原理

郵件傳輸協議:SMTP協議和POP3協議

內容不斷發展:IMAP協議和Mime協議

郵件發送流程

Spring Boot介紹

約定大于配置

簡單快速開發

強大的生態鏈

前置知識

會使用Spring進行開發

對Spring Boot有一定的了解

會使用Maven構建項目

使用html和Thymeleaf模版技術

理解郵件發送的基礎知識

第二章:實踐開發 2-1 項目搭建

開發流程

基礎配置

文本郵件

html郵件

附件郵件

圖片郵件

模版郵件

Hello World項目

構建工具:start.spring.io

基礎配置

編寫Hello World

進行測試

創建名為48-boot-mail-hello的maven工程pom如下



    
        48-boot-mail
        com.myimooc
        1.0-SNAPSHOT
    
    4.0.0

    48-boot-mail-hello

    
        2.0.4.RELEASE
    

    
        
            
                org.springframework.boot
                spring-boot-parent
                ${spring.boot.version}
                pom
                import
            
        
    

    
        
            org.springframework.boot
            spring-boot-starter
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

1.編寫HelloService類

package com.myimooc.boot.mail.hello.service;

import org.springframework.stereotype.Service;

/**
 * 
* 標題: Hello 服務
* 描述: Hello 服務
* 時間: 2018/09/08
* * @author zc */ @Service public class HelloService { public void sayHello(){ System.out.println("Hello World"); } }

2.編寫HelloApplication類

package com.myimooc.boot.mail.hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 
* 標題: 啟動類
* 描述: 啟動類
* 時間: 2018/09/08
* * @author zc */ @SpringBootApplication public class HelloApplication { public static void main(String[] args) { SpringApplication.run(HelloApplication.class, args); } }

3.編寫HelloServiceTest類

package com.myimooc.boot.mail.hello.service;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

/**
 * 
* 標題: Hello 服務測試
* 描述: Hello 服務測試
* 時間: 2018/09/08
* * @author zc */ @RunWith(SpringRunner.class) @SpringBootTest public class HelloServiceTest { @Autowired private HelloService helloService; @Test public void sayHelloTest() { this.helloService.sayHello(); } }
2-2 發送郵件

簡單文本郵件

引入相關jar包

配置郵箱參數

封裝SimpleMailMessage

JavaMailSender進行發送

創建名為48-boot-mail-mail的maven工程pom如下



    
        48-boot-mail
        com.myimooc
        1.0-SNAPSHOT
    
    4.0.0

    48-boot-mail-mail

    
        2.0.4.RELEASE
    

    
        
            
                org.springframework.boot
                spring-boot-parent
                ${spring.boot.version}
                pom
                import
            
        
    

    
        
            org.springframework.boot
            spring-boot-starter
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-mail
        
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

1.編寫MailApplication類

package com.myimooc.boot.mail.mail;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 
* 標題: 啟動類
* 描述: 啟動類
* 時間: 2018/09/08
* * @author zc */ @SpringBootApplication public class MailApplication { public static void main(String[] args) { SpringApplication.run(MailApplication.class, args); } }

2.編寫application.properties

#----------郵件發送配置
# 郵件發送協議
spring.mail.host=smtp.163.com
# 用戶名
spring.mail.username=zccodere@163.com
# 授權碼,并非登錄密碼
spring.mail.password=yourpassword
# 默認編碼
spring.mail.default-encoding=UTF-8

3.編寫MailService類

package com.myimooc.boot.mail.mail.service;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import org.thymeleaf.standard.expression.MessageExpression;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;

/**
 * 
* 標題: 郵件服務
* 描述: 郵件服務
* 時間: 2018/09/08
* * @author zc */ @Service public class MailService { private Logger logger = LoggerFactory.getLogger(getClass()); /** * 發送人 */ @Value("${spring.mail.username}") private String from; /** * 注入JavaMailSender */ @Autowired private JavaMailSender mailSender; /** * 發送文本郵件 * * @param to 收件郵箱地址 * @param subject 主題 * @param content 內容 */ public void sendSimpleMail(String to, String subject, String content) { SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(content); message.setFrom(from); this.mailSender.send(message); } /** * 發送html郵件 * * @param to 收件郵箱地址 * @param subject 主題 * @param content 內容 * @throws Exception 異常 */ public void sendHtmlMail(String to, String subject, String content) throws Exception { MimeMessage message = this.mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setTo(to); helper.setSubject(subject); helper.setText(content, true); helper.setFrom(from); this.mailSender.send(message); } /** * 發送附件郵件 * * @param to 收件郵箱地址 * @param subject 主題 * @param content 內容 * @param filePaths 文件路徑 * @throws Exception 異常 */ public void sendAttachmentsMail(String to, String subject, String content, String[] filePaths) throws Exception { MimeMessage message = this.mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setTo(to); helper.setSubject(subject); helper.setText(content, true); FileSystemResource file; for (String filePath : filePaths) { file = new FileSystemResource(new File(filePath)); String fileName = file.getFilename(); helper.addAttachment(fileName, file); } helper.setFrom(from); this.mailSender.send(message); } /** * 發送圖片郵件 * * @param to 收件郵箱地址 * @param subject 主題 * @param content 內容 * @param rscPath 圖片路徑 * @param rscId 圖片ID */ public void sendInlineResourceMail(String to, String subject, String content, String rscPath, String rscId) { logger.info("發送圖片郵件開始:{},{},{},{},{}", to, subject, content, rscPath, rscId); MimeMessage message = this.mailSender.createMimeMessage(); MimeMessageHelper helper; try { helper = new MimeMessageHelper(message, true); helper.setTo(to); helper.setSubject(subject); helper.setText(content, true); FileSystemResource file = new FileSystemResource(new File(rscPath)); helper.addInline(rscId, file); helper.setFrom(from); this.mailSender.send(message); logger.info("發送圖片郵件成功!"); } catch (MessagingException ex) { logger.error("發送圖片郵件異常:{}", ex); } } }

4.編寫emailTemplate.html




    
    郵件模版



你好,感謝您的注冊,這是一封驗證郵件,請點擊下面的鏈接完成注冊,感謝你你的支持!


激活賬號

5.編寫MailServiceTest類

package com.myimooc.boot.mail.mail.service;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;

import static org.junit.Assert.*;

/**
 * 
* 標題: 郵件服務測試
* 描述: 郵件服務測試
* 時間: 2018/09/08
* * @author zc */ @RunWith(SpringRunner.class) @SpringBootTest public class MailServiceTest { /** * 收件郵箱地址 */ private static final String TO = "zccodere@163.com"; @Autowired private MailService mailService; @Test public void sendSimpleMail() { this.mailService.sendSimpleMail(TO, "這是第一封郵件", "大家好,這是我的第一封郵件"); } @Test public void sendHtmlMail() throws Exception { StringBuilder content = new StringBuilder(128); content.append(""); content.append(" "); content.append("

Hello World!這是一封Html郵件

"); content.append(" "); content.append(""); this.mailService.sendHtmlMail(TO, "這是一封html郵件", content.toString()); } @Test public void sendAttachmentsMail() throws Exception { String filePath = "d:48-boot-mail-hello.zip"; this.mailService.sendAttachmentsMail(TO, "這是一封帶附件的郵件", "這是一封帶附件的郵件內容", new String[]{filePath}); } @Test public void sendInlineResourceMail() { String rscPath = "d: humb.jpg"; String rscId = "img001"; StringBuilder content = new StringBuilder(128); content.append(""); content.append(" "); content.append("

這是有圖片的郵件

"); content.append(" "); content.append(" "); content.append(" "); content.append(""); this.mailService.sendInlineResourceMail(TO, "這是一封帶圖片的郵件", content.toString(), rscPath, rscId); } @Autowired private TemplateEngine templateEngine; @Test public void sendTemplateMail() throws Exception { Context context = new Context(); context.setVariable("id", "006"); String emailContent = this.templateEngine.process("emailTemplate", context); this.mailService.sendHtmlMail(TO, "這是一封模版郵件", emailContent); } }
2-3 課程總結

常見錯誤

421 HL:ICC 該IP同時并發連接數過大

451 Requested mail action not token:too much fail... 登錄失敗次數過多,被臨時禁止登錄

553 authentication is required 認證失敗

郵件系統

獨立微服務

異常處理

定時重試

異步郵件

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77033.html

相關文章

  • 課網_《Java實現郵箱驗證》學習總結

    摘要:時間年月日星期三說明本文部分內容均來自慕課網。用戶過生日,系統發送生日祝福郵件。將最新活動和優惠以郵件的形式告知會員。通常把處理用戶請求郵件發送請求的郵件服務器稱為服務器。提供了加密的協議被稱為。 時間:2017年06月07日星期三說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:無個人學習源碼:https://github.com/zcc...

    marser 評論0 收藏0
  • 課網_Spring Boot 2.0深度實踐-初遇Spring Boot學習總結

    時間:2018年04月08日星期日說明:本文部分內容均來自慕課網。@慕課網:https://www.imooc.com 教學源碼:無 學習源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 課程介紹 課程內容 Spring Boot介紹 環境準備 第一個Spring Boot項目 多模塊項目 打包和運行 1-2 框架定位 showImg(https...

    hqman 評論0 收藏0
  • 課網_《RabbitMQ消息中間件極速入門與實戰》學習總結

    摘要:慕課網消息中間件極速入門與實戰學習總結時間年月日星期三說明本文部分內容均來自慕課網。 慕課網《RabbitMQ消息中間件極速入門與實戰》學習總結 時間:2018年09月05日星期三 說明:本文部分內容均來自慕課網。@慕課網:https://www.imooc.com 教學源碼:無 學習源碼:https://github.com/zccodere/s... 第一章:RabbitM...

    mykurisu 評論0 收藏0
  • 課網_《Kafka流處理平臺》學習總結

    摘要:慕課網流處理平臺學習總結時間年月日星期日說明本文部分內容均來自慕課網。 慕課網《Kafka流處理平臺》學習總結 時間:2018年09月09日星期日 說明:本文部分內容均來自慕課網。@慕課網:https://www.imooc.com 教學源碼:無 學習源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 課程介紹 課程介紹 Kafk...

    Maxiye 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<