栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

发送邮件功能

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

发送邮件功能

邮件功能

开启服务
开启自己邮箱的SMTP服务

设置 ——> 账户 ——> 开启服务

引入依赖
选用与Spring Boot整合的


    org.springframework.boot
    spring-boot-starter-mail
    2.5.5


配置邮箱

分别配置邮箱的 域名/主机、端口、邮箱账号、邮箱密码、发送协议(加密)、发送时采用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{
    
    @Autowired
    private JavaMailSender mailSender;

    
    @Value("${spring.mail.username}")
    private String from;

    
    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方法,即可发送成功

实现过程中的问题

  1. javax.mail.NoSuchProviderException: No provider for smpts
    org.springframework.mail.MailSendException: Mail server connection failed; nested exception is javax.mail.NoSuchProviderException: No provider for smpts. Failed messages: javax.mail.NoSuchProviderException: No provider for smpts
    ; message exception details (1) are:
    Failed message 1:

没有提供smpt
properties文件中的加密协议出错
应为 smtps

  1. 535 Login Fail.
    javax.mail.AuthenticationFailedException: 535 Login Fail. Please enter your authorization code to login. More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

535登录失败
properties文件spring.mail.password值出错,应为授权码

  1. 502 Invalid input from 118.74.26.137 to newxmesmtplogicsvrsza7.qq.com.

无效的输入,从 from 到 to
是 MailClient 的 String from 依赖注入的值错误
注意取properties文件中的值:${}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/293460.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号