阿里云服务器发送邮箱失败问题

问题描述:
在本地启动项目并发送邮箱完全木有问题,ok,上云,注册用户,一顿操作猛如虎,what?,邮箱验证码发送失败??,什么玩意??

原因:
发邮件的默认端口是25端口,而阿里云禁止通过STMP 25端口发送邮件,所以发送失败!!!!

解决方案:
(1)向阿里云申请开放25端口(需要审核)
登录到阿里云管理控制台;
鼠标移动到头像,可以看到下拉菜单,点击“安全管控”
在这里插入图片描述

左侧栏“业务申请”–“25端口解封”
在这里插入图片描述

注意:在正式申请前,您需要确认同意并承诺,保证TCP 25端口仅用来连接第三方的SMTP服务器,从第三方的SMTP服务器外发邮件。如发现您使用申请的IP直接通过SMTP发送邮件,阿里云有权永久性封禁TCP 25端口,并不再提供解封服务。

选择IP类型(经典或VPC),IP及关联域名,
在这里插入图片描述

勾选已阅读并同意《25端口使用服务协议》,单击下一步。

填写申请表单,详细说明您的TCP 25端口使用描述及使用情况
单击确定,提交TCP 25端口解封申请

(2)采用SSL协议发送邮件,并端口号改成465,自行配置(需要开启smtp)
修改application.yml配置

spring
  mail:
    #邮箱服务地址
    host: smtp.qq.com
    #用户名
    username: (你自己的username)
    #发送邮件密码
    password: (SMTP 密码,不是登录密码)
    default-encoding: UTF-8
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true
          socketFactory:
            class: javax.net.ssl.SSLSocketFactory
            port: 465
#自定义属性以谁来发邮件
mail:
  fromMail:
    addr: yc488@qq.com 
 

@Value("${mail.fromMail.addr}") //获取application中配置的addr
private String from;
/**
 *发送邮件验证码
 */
private boolean sendEmail(String to, String content) {
    SimpleMailMessage message = new SimpleMailMessage();
    message.setFrom(from);
    message.setTo(to);
    message.setSubject("YCBLOG系统邮件");
    message.setText(content);
    message.setSentDate(new Date());
    try {
        mailSender.send(message);
        return true;
    } catch (MailException e) {
        e.printStackTrace();
        return false;
    }
} 

配置完毕后,阿里云服务器安全组开启465端口

(3)重新上云,发送邮件成功!!!!

转载于:https://www.ycblog.top/article?articleId=60&pageNum=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值