300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > SpringBoot 中使用 网易邮箱 或 qq邮箱 发送信息

SpringBoot 中使用 网易邮箱 或 qq邮箱 发送信息

时间:2018-10-17 16:58:39

相关推荐

SpringBoot 中使用 网易邮箱 或 qq邮箱 发送信息

SpringBoot 中使用 网易邮箱 或 qq邮箱 发送信息

1. 所需依赖2. 代码3. qq邮箱配置获取授权码4. 网易邮箱配置获取授权码5. 测试类可能要引入一些依赖, 大家自行引入注意, 没有配置properties文件直接运行会报错发送Email服务

1. 所需依赖

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

其他需要的Spring依赖可以自行添加

2. 代码

import lombok.RequiredArgsConstructor;import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSender;import org.springframework.stereotype.Service;@Servicepublic class EmailServiceSmtpImpl {@Autowiredprivate JavaMailSender emailMailSender;public void send() {SimpleMailMessage simpleMailMessage = new SimpleMailMessage();simpleMailMessage.setFrom(你的邮箱,发送方邮箱,qq邮箱或者网易邮箱);simpleMailMessage.setTo(接收方的邮箱); simpleMailMessage.setSubject(邮件的主题(邮件的名称));simpleMailMessage.setText(发送的内容);emailMailSender.send(simpleMailMessage);}}

3. qq邮箱配置

application.properties文件中添加如下配置

# 服务器的主机, 是固定的spring.mail.host=# 授权码, 下面说如何获取spring.mail.password=xxxx# 配置spring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=true# 放送方的qq邮箱spring.mail.username=

获取授权码

鼠标滚轮向下滑动, 找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

我这里需要一些验证

获得授权码

授权码要牢记, 如果忘了, 关了再重新开启一次

4. 网易邮箱配置

application.properties文件中添加如下配置

# 服务器的主机, 是固定的spring.mail.host=# 授权码, 下面说如何获取spring.mail.password=xxxx# 配置spring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=true# 放送方的网易邮箱spring.mail.username=

获取授权码

开启后获取授权码, 我的已经开启啦

5. 测试类

可能要引入一些依赖, 大家自行引入

注意, 没有配置properties文件直接运行会报错

import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.annotation.DirtiesContext;import org.springframework.test.context.ActiveProfiles;@ActiveProfiles("test")@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)public class BaseIntegrationTest {}

import main.service.validation.EmailServiceSmtpImpl;import main.service.validation.SmsServiceTencentSmsImpl;import org.junit.jupiter.api.Test;import org.junit.jupiter.api.extension.ExtendWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.junit.jupiter.SpringExtension;@ExtendWith(SpringExtension.class)public class SmtpSendMailUnitTests extends BaseIntegrationTest {@Autowiredprivate EmailServiceSmtpImpl emailServiceSmtpImpl;@Testpublic void sendSmsWangYi_thenAcceptSuccessfully () {emailServiceSmtpImpl.send(你的qq邮箱, 发送的信息);}}

发送Email服务

import lombok.RequiredArgsConstructor;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSender;import org.springframework.stereotype.Service;@Service@RequiredArgsConstructorpublic class EmailServiceSmtpImpl implements EmailService {private final JavaMailSender emailMailSender;public void send(String email, String message) {SimpleMailMessage simpleMailMessage = new SimpleMailMessage();simpleMailMessage.setFrom("xxx@");simpleMailMessage.setTo(email);simpleMailMessage.setSubject("Spring Security 登录验证码");simpleMailMessage.setText("验证码为:" + message);emailMailSender.send(simpleMailMessage);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。