<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      小雞炸

      導(dǎo)航

      SpringBoot_Mail_Test和部署

      一、發(fā)送郵件

      1、介紹

      發(fā)送郵件應(yīng)該是網(wǎng)站的必備功能之一,什么注冊驗證,忘記密碼或者是給用戶發(fā)送營銷信息。最早期的時候我們會使用 JavaMail 相關(guān) api 來寫發(fā)送郵件的相關(guān)代碼,后來 Spring 推出了 JavaMailSender 更加簡化了郵件發(fā)送的過程,在之后 Spring Boot 對此進(jìn)行了封裝就有了現(xiàn)在的 spring-boot-starter-mail
      

      2、引用依賴

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

      3、使用163郵箱發(fā)送配置

      #郵箱服務(wù)器
      spring.mail.host=smtp.163.com
      #配置我的郵箱名
      spring.mail.username=*********@163.com
      #授權(quán)碼-登錄郵箱-設(shè)置-客戶端授權(quán)碼
      spring.mail.password=***********
      spring.mail.default-encoding=UTF-8
      #打印日志信息
      spring.mail.properties.mail.debug=true
      

      4、發(fā)送郵件的Controller代碼

      import java.io.File;
      
      import javax.mail.MessagingException;
      import javax.mail.internet.MimeMessage;
      
      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.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RestController;
      
      @RestController
      public class MailController {
      	@Autowired
      	private JavaMailSender mail;
      	@Value("${spring.mail.username}")
      	private String form;
      
      	//純發(fā)送文本
      	@RequestMapping("/sendMail")
      	public Object sendMail1(String to, String title, String msg) {
      		SimpleMailMessage message = new SimpleMailMessage();
      		// 發(fā)件人郵箱、即便配置了也需要再次填寫
      		System.out.println("---------------" + form + "---------------");
      		message.setFrom(form);
      		// 收件人地址
      		message.setTo(to);
      		// 郵件標(biāo)題
      		message.setSubject(title);
      		// 郵件內(nèi)容
      		message.setText(msg);
      		try {
      			// 發(fā)送
      			mail.send(message);
      			return "ok";
      		} catch (Exception e) {
      			e.printStackTrace();
      			return e.getMessage();
      		}
      	}
      
      	//發(fā)送html格式的郵件
      	@RequestMapping("/sendMail2")
      	public void sendHtmlMail2(String to, String subject, String content) throws Exception {
      		MimeMessage message = mail.createMimeMessage();
      		// true表示需要創(chuàng)建一個multipart message
      		MimeMessageHelper helper = new MimeMessageHelper(message, true);
      		helper.setFrom(form);
      		helper.setTo(to);
      		helper.setSubject(subject);
      		helper.setText(content, true);
      
      		mail.send(message);
      	}
      
      	//發(fā)送帶附件的郵件
      	@RequestMapping("/sendMail3")
      	public void sendHtmlMail3(String to, String subject, String content, String filePath) throws Exception {
      		MimeMessage message = mail.createMimeMessage();
      
      		MimeMessageHelper helper = new MimeMessageHelper(message, true);
      		helper.setFrom(form);
      		helper.setTo(to);
      		helper.setSubject(subject);
      		helper.setText(content, true);
      
      		//當(dāng)前項目的根目錄文件
      		FileSystemResource file = new FileSystemResource("src\\main\\resources\\"+filePath);
      		helper.addAttachment(filePath, file);
      		mail.send(message);
      	}
      }
      
      

      二、SpringBoot項目測試

      1、SpringBoot默認(rèn)導(dǎo)入spring-boot-starter-testjar包、只需要額外導(dǎo)入導(dǎo)入JUnit5的jar包即可

      2、編寫測試用例、可直接使用Spring管理的所有對象

      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;
      
      @RunWith(SpringRunner.class)
      @SpringBootTest
      public class StudentTest {
      	@Autowired
      	MailController info;
      	
      	@Test
      	public void hello() {
      		System.out.println(info);
      		System.out.println("hello world");
      	}
      }
      

      3、測試Controller的所有方式

      
      
      import org.junit.Before;
      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.http.MediaType;
      import org.springframework.test.context.junit4.SpringRunner;
      import org.springframework.test.web.servlet.MockMvc;
      import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
      import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
      import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
      import org.springframework.test.web.servlet.setup.MockMvcBuilders;
      
      @RunWith(SpringRunner.class)
      @SpringBootTest
      public class StudentTest {
      	MockMvc mvc;
      
          //初始化執(zhí)行
          @Before
          public void setUp() throws Exception {
          	mvc = MockMvcBuilders.standaloneSetup(new MailController()).build();
          }
      
          //驗證controller是否正常響應(yīng)并打印返回結(jié)果
          @Test
          public void getHello() throws Exception {
          	//發(fā)送請求、打印結(jié)果
              mvc.perform(MockMvcRequestBuilders.get("/show1").accept(MediaType.APPLICATION_JSON))
                      .andExpect(MockMvcResultMatchers.status().isOk())
                      .andDo(MockMvcResultHandlers.print())
                      .andReturn();
              
          }
          
          //驗證controller是否正常響應(yīng)并判斷返回結(jié)果是否正確
          @Test
          public void testHello() throws Exception {
          	  System.out.println("show222222222222222");
              mvc.perform(MockMvcRequestBuilders.get("/show2?name=aaa").accept(MediaType.APPLICATION_JSON))
                      .andExpect(MockMvcResultMatchers.status().isOk())
                      .andDo(MockMvcResultHandlers.print());
          	  System.out.println("show222222222222222");
          }
      	
      	@Test
      	public void hello() {
      		System.out.println("hello world");
      	}
      }
      

      三、部署SpringBoot項目

      nohup java -jar springboot001.jar &
      # 后臺運行上述命令、
      

      posted on 2022-01-19 10:51  小雞炸  閱讀(68)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 欧美极品色午夜在线视频| 国产91精品调教在线播放| 国产91丝袜在线播放动漫| 久久夜色精品国产亚洲a| 国产在线视频精品视频| 亚洲国产熟女一区二区三区| 免费看黄色片| 天天澡日日澡狠狠欧美老妇| 日韩福利片午夜免费观着| 国产精品亚洲аv无码播放| 日韩高清亚洲日韩精品一区二区| 欧美裸体xxxx极品| 亚洲成色在线综合网站| 久久亚洲精精品中文字幕| 亚洲精品久荜中文字幕| 欧美成人aaa片一区国产精品| 亚洲日韩性欧美中文字幕| 隔壁老王国产在线精品| 中文字幕日韩精品有码| 九九热精品视频在线免费| 2018av天堂在线视频精品观看| 尤物国产精品福利在线网| 亚洲人妻精品一区二区| 午夜福制92视频| 偷拍美女厕所尿尿嘘嘘小便| 国产精品久久蜜臀av| 久热在线中文字幕色999舞| 久久99日本免费国产精品| 国产精品有码在线观看| 轮台县| 日本肉体xxxx裸交| 欧美成人午夜在线观看视频| 日韩加勒比一本无码精品| 国产在线98福利播放视频| 国语做受对白XXXXX在线| 婷婷久久香蕉五月综合加勒比 | 九九热这里只有精品在线| 国产欧美精品一区aⅴ影院| 欧美性猛交xxxx免费看| 国产成人无码免费视频在线| 97无码人妻福利免费公开在线视频|