这里记录一下QQ企业邮箱发邮件问题,因为之前遇到过一种情况是本地测试没问题,结果线上出现问题
无法连接到主机、端口:smtp.qq.com, 25;超时1
要使用企业邮箱生成的授权密码。
这里只要是因为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企业邮箱无法连接解决方案