1、报错信息如下:

trying to connect to host "smtp.163.com", port 465, isSSL true
javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 465;nested exception is:javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)at javax.mail.Service.connect(Service.java:295)at javax.mail.Service.connect(Service.java:176)at javax.mail.Service.connect(Service.java:196)at com.xnpool.smsServer.Tools.SendEmailUtils.sendEmail(SendEmailUtils.java:66)at com.xnpool.smsServer.controller.sms.SmsCodeServicerApi.sendEmail(SmsCodeServicerApi.java:151)at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

2、代码


public class SendEmailRequest {/*** 接收地址*/private String email;/*** 邮件标题*/private String title;/*** 邮件内容*/private String content;/*** 主机地址* smtp.163.com* smtp.qq.com*/private String host;/*** 发送地址*/private String from;/*** 秘钥*/private String secrect;}@Slf4j
public class SendEmailUtils {public static void sendEmail(SendEmailRequest request) {try {log.info(log.getName() + " 发送邮件请求参数【{}】", JSONObject.toJSONString(request));Properties properties = new Properties();properties.put("mail.transport.protocol", "smtp");// 连接协议properties.put("mail.smtp.host", request.getHost());// 163主机名properties.put("mail.smtp.port", 465);// 端口号properties.put("mail.smtp.auth", "true");properties.put("mail.smtp.ssl.enable", "true");//设置是否使用ssl安全连接  ---一般都使用properties.put("mail.debug", "true");//设置是否显示debug信息  true 会在控制台显示相关信息//得到回话对象Session session = Session.getInstance(properties);// 获取邮件对象Message message = new MimeMessage(session);//设置发件人邮箱地址message.setFrom(new InternetAddress(request.getFrom()));//设置收件人地址message.setRecipients(MimeMessage.RecipientType.TO, new InternetAddress[]{new InternetAddress(request.getEmail())});//抄送自己message.addRecipients(Message.RecipientType.CC, InternetAddress.parse(request.getFrom()));//设置邮件标题message.setSubject(request.getTitle());//设置邮件内容message.setText(request.getContent());//得到邮差对象Transport transport = session.getTransport();//连接自己的邮箱账户transport.connect(request.getFrom(), request.getSecrect());//密码为刚才得到的授权码//发送邮件transport.sendMessage(message, message.getAllRecipients());transport.close();} catch (Exception e) {e.printStackTrace();}log.info(log.getName() + " 发送邮件发送成功【{}】", JSONObject.toJSONString(request));}
}

3、问题解决
发现自己的邮箱设置:MAP/POP3 都已经开启,且都已经增加了授权码还报错,那就是正式环境JDK 的验证问题

 which javals -lrt /usr/bin/javals -lrt /etc/alternatives/java

找到目录

 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security

修改java.security:不要SSL3,TLSv1, TLSv1.1

# dk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
jdk.tls.disabledAlgorithms=RC4, DES, MD5withRSA, \DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \include jdk.disabled.namedCurves

重启JAVA程序

javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 465;相关推荐

  1. 邮件常见异常:javax.mail.MessagingException: Could not connect to SMTP host

    文章目录 邮件常见异常:javax.mail.MessagingException: Could not connect to SMTP host 1.异常触发 2.Failed message 1: ...

  2. javax.mail.MessagingException: Could not connect to SMTP host

    如果使用了 SSL 连接请添加配置:spring.mail.properties.mail.smtp.ssl.enable=true 可以参考 https://stackoverflow.com/qu ...

  3. 解决发邮件错误javax.mail.MessagingException: Could not connect to SMTP host

    用java实现发送邮件功能时报错 javax.mail.MessagingException: Could not connect to SMTP host Exception in thread & ...

  4. 解决问题:javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 25;

    最近项目中需要用到发送邮件这一功能,总是遇到这样的一个报错: javax.mail.MessagingException: Could not connect to SMTP host: smtp.e ...

  5. javax.mail.MessagingException: Could not connect to SMTP host: smtp.xdf.cn

    1.问题描述:关于使用Java Mail进行邮件发送,抛出Could not connect to SMTP host: xx@xxx.com, port: 25的异常可能: 当我们使用Java Ma ...

  6. 解决javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 25;

    邮件的服务器设置错误. 从数据库获取的邮件服务器的数据不对,用户设置的就是错误的. 删除原来的服务器配置,增加一条新的记录喽. delete from BI_CONFIG_RULE_MAILSERVE ...

  7. Azkaban重新编译,解决:Could not connect to SMTP host: smtp.163.com, port: 465【2022年01月10日】

    Azkaban配置文件修改465端口一直报错,如下: javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.c ...

  8. Could not connect to SMTP host: smtp.163.com, port: 465, response: -1

    1.用以下代码,邮件发送测试失败 JavaMailSenderImpl tempMailSender = new JavaMailSenderImpl(); tempMailSender.setHos ...

  9. 使用javamail发邮件出现javax.mail.MessagingException: Unknown SMTP host: smtp.qq.com的解决方案

    这几天有在修改一个邮件发送的功能,使用的是javamail,然后本地测试ok,在腾讯的tsf环境上,报下面这个错: javax.mail.MessagingException: Unknown SMT ...

  10. javax.mail.MessagingException: 500 Error: bad syntax问题

    2019独角兽企业重金招聘Python工程师标准>>> 在eclipse下执行下面这个发送邮件的方法报错: public static void sendSimpleMail() t ...

最新文章

  1. 张宏江对话清华“智班”:我想看到更多极客
  2. VC++ inline内联函数的作用解决方案
  3. linux centos查看CPU型号及物理CPU个数
  4. 关于.net的.dll.refresh文件
  5. BugkuCTF-PWN题pwn5-overflow2超详细讲解
  6. 信息学奥赛C++语言:判断正负
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的餐厅收银管理系统
  8. 修改10g自动统计信息收集作业GATHER_STATS_JOB到仅仅周末执行
  9. python处理select
  10. 用什么软件写html语言,写html代码用什么软件
  11. android高德地图热力图,调用高德地图API(热力图)详解(示例代码)
  12. ibatis结果集resultClass的几种类型
  13. 代数拓扑笔记(1) —— 胞腔复形
  14. 新广告法违规词、敏感词在线检测工具
  15. 网站改造为百度智能小程序教程,适合所有网站封装
  16. 压力变送器matlab,总结压差变送器三种不同故障以及处理方法[理论结合实际]
  17. UNI-APP,动态设置view的背景图片
  18. 看我如何用Python来分析《斗破苍穹》
  19. 学生管理系统的设计与实现
  20. 乱发短信的脉脉终于败诉了,网友:早就该判刑了

热门文章

  1. android手机密码怎样删掉,手机密码忘了怎么解锁 删除密码解锁教程
  2. cocos creator 使用anysdk接入admod
  3. Opencv中的颜色检测
  4. Java正则表达式实现港、澳、台身份证验证
  5. numpy中的统计函数
  6. IntelliJ IDEA 绝对好用快捷键
  7. python type help copyright_python中help信息
  8. IKEv2协议报文分片处理
  9. OK3399设置GPIO默认低电平
  10. 联想微型计算机拆,联想10064一体机拆机,联想一体机硬盘怎么拆