成都易站网站建设,电商怎么做如何从零开始学,适合写个人博客的平台,hao123主页下载安装通过25端口发送邮件不安全#xff0c;改为ssl加密方式发送邮件#xff0c;比较常见的2中实现类发送邮件如下所示。
1、JavaMailSenderImpl 类
使用该实现类发送邮件#xff0c;ssl加密使用端口号为465#xff0c;借助Properties类设置ssl的各种配置。 SysUserEntity user…通过25端口发送邮件不安全改为ssl加密方式发送邮件比较常见的2中实现类发送邮件如下所示。
1、JavaMailSenderImpl 类
使用该实现类发送邮件ssl加密使用端口号为465借助Properties类设置ssl的各种配置。 SysUserEntity user userService.getById(fromUserId);JavaMailSenderImpl senderImpl new JavaMailSenderImpl();Properties props new Properties();props.put(mail.smtp.auth, true);senderImpl.setHost(user.getEmailHost());senderImpl.setUsername(user.getEmail());senderImpl.setPassword(user.getEmailPw());senderImpl.setDefaultEncoding(UTF-8);senderImpl.setJavaMailProperties(props);Properties properties new Properties();//properties.setProperty(mail.debug, true);//启用调试//properties.setProperty(mail.smtp.timeout, 1000);//设置链接超时//设置通过ssl协议使用465端口发送、使用默认端口25时下面三行不需要properties.setProperty(mail.smtp.auth, true);//开启认证properties.setProperty(mail.smtp.socketFactory.port, 465);//设置ssl端口properties.setProperty(mail.smtp.socketFactory.class, javax.net.ssl.SSLSocketFactory);senderImpl.setJavaMailProperties(properties);MimeMessage message senderImpl.createMimeMessage();//true表示需要创建一个multipart messageMimeMessageHelper helper new MimeMessageHelper(message, true);helper.setFrom(user.getEmail());helper.setTo(to.split(,));helper.setSubject(subject);helper.setText(content Constant.SIGNATURE_STR, true);senderImpl.send(message);log.info(邮件发送成功);//保存发送日志mailLogEntity.setCreateUserId(Constant.SUPER_ADMIN);mailLogEntity.setCreateUserOrgNo(Constant.SUPER_ADMIN_ORG);mailLogEntity.setSender(user.getEmail());mailLogEntity.setType(Constant.USER_SEND);result true;2、JavaMailSender类
网上资料较少自己记录一下。 修改application.yml文件配置
spring:mail:host: xxx邮件系统服务器域名或Ipport: 465username: xxx账号password: xxxdefault-encoding: UTF-8# 这里填发送邮箱对应的SMTP地址 ,忽略证书,信任域名properties:mail.smtp.ssl.trust: 邮件系统服务器域名或Ipmail.smtp.auth: truemail.smtp.socketFactory.class: javax.net.ssl.SSLSocketFactorymail.smtp.socketFactory.port: 465mail.smtp.starttls.enable: truemail.smtp.starttls.required: true至于能否都采用第二种方式来实现没做测试。