首页 > 编程知识 正文

springboot发送邮件设置别名,springboot网关限制接口访问

时间:2023-05-06 13:45:09 阅读:264238 作者:4395

一、背景

在当下的大部分应用中,通过邮件来激活账号、更改密码、验证权限等场景都是不可或缺的,邮件发送的教程已经有很多了,但大多都是针对主流的邮箱和主流的服务器。在阿里云服务器中会存在一些不一样的问题。

二、步骤

要使用邮件服务器,总的来说需要3步:

开通发送邮箱的SMTP服务,并获取授权码。在SpringBoot中增加邮件发送的配置。调用类库的相应方法发送邮件。 三、开通发送邮箱的SMTP服务

该步骤在其他大多数教程中都有说明,即在邮箱的设置界面开启相应的服务。以网易邮箱为例,其开启方式如下:

勾选相应服务后会弹出授权码设置框,设置自己的授权码即可(授权码会在SpringBoot的配置中用到)。

四、SpringBoot配置

配置分为2部分:
一是引入Java Mail的依赖库,在pom.xml中添加如下依赖:

<!--++++++邮件服务+++++++--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>

spring-boot-starter-mail封装了sun的Java Mail类库,并且利用SpringBoot的自动配置特性让我们更加易于使用。

二是添加邮箱用户名、授权码、邮件服务器域名等配置信息。在application.properties中添加如下配置:

#mail配置# 设置邮箱主机spring.mail.host=smtp.163.com#设置端口为465,因为阿里云的25端口被禁用了spring.mail.port=465spring.mail.properties.mail.smtp.socketFactory.port = 465spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactoryspring.mail.properties.mail.smtp.socketFactory.fallback = false# 设置用户名spring.mail.username=yuanxueba_2018@163.com# 设置密码,该处的密码是邮箱开启SMTP的授权码而非邮箱登录密码spring.mail.password=********# 设置是否需要认证,如果为true,那么用户名和密码就必须的,# 如果设置false,可以不设置用户名和密码,当然也得看你的对接的平台是否支持无密码进行访问的。spring.mail.properties.mail.smtp.auth=true# STARTTLS[1] 是对纯文本通信协议的扩展。它提供一种方式将纯文本连接升级为加密连接(TLS或SSL),而不是另外使用一个端口作加密通信。spring.mail.properties.mail.smtp.starttls.enable=truespring.mail.properties.mail.smtp.starttls.required=true

在这里要特别注意,我们不能使用默认的25端口,因为阿里云处于安全考虑的原因,禁用了从16年之后申请的云服务器25端口。虽然可以申请开通,但比较麻烦且很容易被驳回,所以建议将发送端口改为465。

五、发送邮件

发送邮件的代码非常简洁,示例如下:

//声明发送对象@Autowiredprivate JavaMailSender mailSender;//生成并填充消息体SimpleMailMessage mailMessage = new SimpleMailMessage();mailMessage.setFrom("yuanxueba_2018@163.com");//发送邮箱mailMessage.setTo("518684584@qq.com");//接收邮箱mailMessage.setSubject("测试邮件主题"); //邮件主题mailMessage.setText(“邮件正文”); //邮件正文//发送邮件mailSender.send(mailMessage); 六、总结

总的来说,发送邮件的步骤大致是一样的。但由于阿里云服务器将25端口禁用掉了,所以出现了一些特别的配置(如端口改用465等)。
除此之外,可以看出使用SpringBoot发送邮件非常简单,只需要几行配置和几行代码即可。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。