Springboot项目邮件发送25端口号修改为465端口号

背景:
之前项目发邮件是使用25端口号来发送,但是由于升级部署迁移至阿里云,阿里云是禁止25端口号,所以我们需要使用465端口号来发送邮件。
各端口号的协议,借鉴:https://www.douban.com/note/397681162/
25端口号协议是SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),465端口号协议是SMTPS(SMTP-over-SSL),较SMTPS协议发送邮件更安全,防止邮件别黑客截取泄漏,还可实现邮件发送者抗抵赖功能。

代码改造过程中,除了要将原25端口号改为456端口号外,还需对465的协议进行配置。
如果配置到程序里,如下:

Properties properties = new Properties();
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.smtp.socketFactory.fallback", "false");
mailSender.setJavaMailProperties(properties);

如果配置到配置文件中,如下:

  spring:              
  mail:
    host: xx
    port: xx
    username: xx
    password: xx
    properties:
      mail:
        transport:
          protocol: smtp
        smtp:
          auth: true
          socketFactory:
            class: javax.net.ssl.SSLSocketFactory
            fallback: false

然后,再使用发邮件功能测试,就可以正常收到邮件了~

你可能感兴趣的:(Java,javamail,java)