弹簧启动邮件QQ企业邮箱无法连接解决方案

  

这里记录一下QQ企业邮箱发邮件问题,因为之前遇到过一种情况是本地测试没问题,结果线上出现问题

  

无法连接到主机、端口:smtp.qq.com, 25;超时1
  

  

春天启动邮件QQ企业邮箱无法连接解决方案

  

要使用企业邮箱生成的授权密码。

  

这里只要是因为QQ邮箱默认端口是465,需要修改为SSL配置

  

java代码         包com.chenpeng.cpeducloud.service.impl;   进口lombok.extern.slf4j.Slf4j;   进口org.slf4j.Logger;   进口org.slf4j.LoggerFactory;   进口org.springframework.beans.factory.annotation.Autowired;   进口org.springframework.beans.factory.annotation.Value;   进口org.springframework.core.io.FileSystemResource;   进口org.springframework.mail.SimpleMailMessage;   进口org.springframework.mail.javamail.JavaMailSender;   进口org.springframework.mail.javamail.MimeMessageHelper;   进口org.springframework.messaging.MessagingException;   进口org.springframework.stereotype.Service;      进口com.chenpeng.cpeducloud.base.WebConstants;   进口com.chenpeng.cpeducloud.service.MailService;   进口com.chenpeng.cpeducloud.util.Constants;   进口com.chenpeng.cpeducloud.util.DateUtils;   进口com.chenpeng.cpeducloud.util.StringUtils;      进口javax.mail.internet.MimeMessage;   进口java.io.File;   进口java.util.HashMap;   进口并不知道;   进口java.util.Map;/* */* *身份验证:szy   *时间:2019-05-16   * */@ service   @Slf4j   公共类MailServiceImpl实现MailService {      @ autowired   私人JavaMailSender mailSender;      @ value (" $ {mail.formSender} ")   私人字符串发送者;//发送者      @ value (" $ {mail.formMobile} ")   私人字符串formMobile;//联系电话/* *   *发送简单邮件(收件的人,主题,内容)   */@Override   公共空间sendSimpleMail(字符串,字符串,字符串内容){   SimpleMailMessage消息=new SimpleMailMessage ();   message.setFrom(发送方);   message.setTo ();   message.setSubject(主题);   message.setText(内容);   尝试{   mailSender.send(消息);   log.info(“简单邮件发送成功!”);   }捕捉(异常e) {   log.info(“发送简单邮件时发生异常!”+ e);   }   }/* *   *发送Html邮件(收件的人,主题,内容)   */@Override   公共空间sendHtmlMail(字符串,字符串,字符串内容){   将消息=mailSender.createMimeMessage ();   尝试{   MimeMessageHelper助手=零;//正确的表示需要创建一个多部分消息   尝试{   辅助=new MimeMessageHelper(消息,真的);   message.setFrom(发送方);   helper.setTo ();   helper.setSubject(主题);   帮手。setText(的内容);   mailSender.send(消息);   log.info (“html邮件发送成功”);   }(javax.mail。MessagingException e) {   e.printStackTrace ();   }      }捕捉(MessagingException e) {   log.info(“发html邮送件时发生异常!”+ e);   }   }/* *   *发送带附件的邮件   * @param   * @param主题   * @param内容   * @param filePath   */@Override   公共空间sendAttachmentsMail(字符串,字符串,字符串内容,字符串filePath) {   将消息=mailSender.createMimeMessage ();      尝试{   MimeMessageHelper助手=零;   尝试{   辅助=new MimeMessageHelper(消息,真的);   message.setFrom(发送方);   helper.setTo ();   helper.setSubject(主题);   帮手。setText(的内容);      FileSystemResource文件=new FileSystemResource(新文件(filePath));   字符串文件名=filePath.substring (filePath.lastIndexOf (File.separator));   帮手。addAttachment(文件名、文件);//帮手。addAttachment(“测试”+文件名、文件);      mailSender.send(消息);   log.info(“带附件的邮件已经发送。”);   }(javax.mail。MessagingException e) {   e.printStackTrace ();   }      }捕捉(MessagingException e) {   log.info(“发送带附件的邮件时发生异常!”+ e);   }   }/* *   *发送Html邮件(收件的人,主题,内容),   *带多附件   */@Override   公共空间sendHtmlMailAndAttachments (String [], String [] cc,字符串,字符串内容,List文件){   将消息=mailSender.createMimeMessage ();   尝试{   MimeMessageHelper助手=零;//正确的表示需要创建一个多部分消息   尝试{   辅助=new MimeMessageHelper(消息,真的);   message.setFrom(发送方);   helper.setTo ();   helper.setCc (cc);   helper.setSubject(主题);   帮手。setText(的内容);      (字符串filePath:文件){   FileSystemResource文件=new FileSystemResource(新文件(filePath));   字符串文件名=filePath.substring (filePath.lastIndexOf (File.separator));   帮手。addAttachment(文件名、文件);   }   mailSender.send(消息);   log.info (“html邮件发送成功”);   }(javax.mail。MessagingException e) {   e.printStackTrace ();   }      }捕捉(MessagingException e) {   log.info(“发html邮送件时发生异常!”+ e);   }   }      }

弹簧启动邮件QQ企业邮箱无法连接解决方案