| | |
| | | mailSender.setUsername(PropertiesUtil.getProperty("email.username")); |
| | | mailSender.setPassword(PropertiesUtil.getProperty("email.password")); |
| | | mailSender.setHost(PropertiesUtil.getProperty("email.host")); |
| | | // 邮件服务器属性配置 |
| | | Properties javaMailProperties = new Properties(); |
| | | |
| | | // 场景B:加密端口(465)- 启用SSL,对应服务器加密规则 |
| | | javaMailProperties.setProperty("mail.smtp.ssl.enable", "true"); |
| | | javaMailProperties.setProperty("mail.smtp.ssl.protocols", "TLSv1.2"); // 兼容服务器加密协议 |
| | | // 配置SSL Socket工厂(仅加密端口需要) |
| | | javaMailProperties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); |
| | | javaMailProperties.setProperty("mail.smtp.socketFactory.port", "465"); // 端口与smtp.port一致(465) |
| | | javaMailProperties.setProperty("mail.smtp.socketFactory.fallback", "false"); // 禁用非SSL降级 |
| | | // 465端口禁用STARTTLS(服务器不支持) |
| | | javaMailProperties.setProperty("mail.smtp.port", "465"); |
| | | javaMailProperties.setProperty("mail.smtp.starttls.enable", "false"); |
| | | |
| | | // 调试模式(生产环境建议改为false) |
| | | javaMailProperties.setProperty("mail.smtp.auth", "true"); |
| | | javaMailProperties.setProperty("mail.debug", "true"); |
| | | javaMailProperties.setProperty("mail.smtp.ssl.protocols", "TLSv1.2"); |
| | | javaMailProperties.setProperty("mail.smtp.host", "smtp.gmail.com"); |
| | | javaMailProperties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); |
| | | javaMailProperties.setProperty("mail.smtp.socketFactory.port", "465"); |
| | | javaMailProperties.setProperty("mail.smtp.ssl.enable", "true"); |
| | | mailSender.setJavaMailProperties(javaMailProperties); |
| | | |
| | | mailMessage = new SimpleMailMessage(); |
| | | mailMessage.setFrom(PropertiesUtil.getProperty("email.from")); |
| | | |
| | | freeMarkerConfigurer = new FreeMarkerConfigurer(); |
| | | freeMarkerConfigurer.setTemplateLoaderPath("classpath:email/ftl"); |
| | | Properties settings = new Properties(); |