一文快速搞懂Springboot发送邮件操作,掌握这套精编Java高级面试题解析

相关文章:

【Springboot系列】Springboot入门到项目实战


目录

开通QQ邮箱的POP3/SMPT协议

发送邮件所需要的依赖文件

相关配置

发送邮件方法


开通QQ邮箱的POP3/SMPT协议


打开qq邮箱点击设置,之后点击账户,往下翻,如图。

一文快速搞懂Springboot发送邮件操作,掌握这套精编Java高级面试题解析_第1张图片

找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,点击开启,开启后会出现一个授权码,发送邮件时会用到。

一文快速搞懂Springboot发送邮件操作,掌握这套精编Java高级面试题解析_第2张图片

发送邮件所需要的依赖文件


org.springframework.boot

spring-boot-starter-mail

相关配置


在application.properties配置文件中配置发邮件的相关配置:

#设置字符集

spring.mail.default-encoding=UTF-8

spring.mail.host=smtp.qq.com

#发送者的邮箱密码,这个密码不是QQ密码,而且上面的授权密码

spring.mail.password=发送者的邮箱密码

#端口

spring.mail.port=587

#协议

spring.mail.protocol=smtp

#发送者的邮箱账号

[email protected]

发送邮件方法


新建一个测试控制器,编写发送邮件方法(一个不带附件发送,一个带附件发送),代码如下:

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.mail.javamail.MimeMessageHelper;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import org.springframework.mail.SimpleMailMessage;

import org.springframework.mail.javamail.JavaMailSender;

import javax.mail.MessagingException;

import javax.mail.internet.MimeMessage;

import java.io.File;

@RestController

public class IndexController {

//发送者的邮箱账号

@Value("${spring.mail.username}")

private String mailusername;

@Autowired

JavaMailSender jms;

@RequestMapping(value = “send”)

public String send(){

try {

//建立邮件消息

SimpleMailMessage mainMessage = new SimpleMailMessage();

//发送者邮箱

mainMessage.setFrom(mailusername);

//接收者邮箱

mainMessage.setTo(“[email protected]”);

//发送的邮件标题

mainMessage.setSubject(“Springboot发送邮件”);

//发送的内容

mainMessage.setText(“邮件内容”);

System.out.println(“123”);

//发送

jms.send(mainMessage);

return “发送成功”;

}catch (Exception e){

你可能感兴趣的:(程序员,面试,java,后端)