赞
踩
开启服务
开启自己邮箱的SMTP服务
设置 ——> 账户 ——> 开启服务
引入依赖
选用与Spring Boot整合的
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.5.5</version>
</dependency>
配置邮箱
分别配置邮箱的 域名/主机、端口、邮箱账号、邮箱密码、发送协议(加密)、发送时采用ssl连接的详细配置
注意:
username为自己的邮箱账号
password为邮箱的授权码
spring.mail.host=smtp.qq.com
spring.mail.port=465
spring.mail.username=******
spring.mail.password=******
spring.mail.protocol=smtps
spring.mail.properties.mail.smpt.ssl.enable=true
封装发送邮件的实体类,可以重复使用
注意依赖注入值:@Value("${配置文件的key}")
@Component public class MailClient{ /** 发送邮件的核心组件 Spring容器管理 */ @Autowired private JavaMailSender mailSender; /** 发件人:properties文件中已经配置,可直接使用 */ @Value("${spring.mail.username}") private String from; /** * 发送邮件的方法,外部调用 * * @param to 发送目的地 * @param subject 发送主题 * @param context 发送内容 */ public void sendMail(String to, String subject, String context) { try { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message); helper.setFrom(from); helper.setTo(to); helper.setSubject(subject); // 支持html文本 helper.setText(context, true); mailSender.send(helper.getMimeMessage()); } catch (MessagingException e) { e.printStackTrace(); } } }
测试
测试中调用MailClient中的sendMail方法,即可发送成功
实现过程中的问题
没有提供smpt
properties文件中的加密协议出错
应为 smtps
535登录失败
properties文件spring.mail.password值出错,应为授权码
无效的输入,从 from 到 to
是 MailClient 的 String from 依赖注入的值错误
注意取properties文件中的值:${}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。