当前位置: 首页 > news >正文

java发送邮件报错,Could not connect to SMTP host: smtp.exmail.qq.com, port: 465

发现问题

我使用的 docker 运行的 jdk 环境,服务调用发送邮件报错

javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.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:317)at javax.mail.Service.connect(Service.java:176)at javax.mail.Service.connect(Service.java:125)at javax.mail.Transport.send0(Transport.java:194)at javax.mail.Transport.send(Transport.java:124)at com.nlelpct.common.network.utils.XMailUtil.run(XMailUtil.java:204)at com.nlelpct.common.network.controller.MailboxController.sendMailByCurrent(MailboxController.java:437)at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171)at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:103)at sun.security.ssl.TransportContext.kickstart(TransportContext.java:220)at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:433)at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:549)at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:354)at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:211)at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927)

解决方案

由于是java 版本的问题,其中jdk.tls.disabledAlgorithms指定了被禁用的算法和协议版本。
打开 java 目录

# 查找容器内 java 目录
which java

修改java.security文件:删除掉SSL3,TLSv1, TLSv1.1

sed -i 's/SSLv3, TLSv1, TLSv1.1, //g' /usr/local/openjdk-8/jre/lib/security/java.security
http://www.lryc.cn/news/435347.html

相关文章:

  • 开放式耳机有哪些好处?性价比排行前十的四款蓝牙耳机推荐
  • FreeRTOS(速记版)
  • 解锁中东市场新蓝海:Bigo社交媒体如何赋能APP广告营销优势
  • 【网络】DNS
  • 如何使用ChatGPT,完成学术论文文献综述的编写?
  • 探索GPU算力在大模型和高性能计算中的无限潜能
  • 【信创】统信UOS图形界面登录闪退的解决方法
  • 排序(插入,希尔,选择,堆,冒泡,快速,归并,计数)
  • 【recast-navigation/源码解析】findStraightPath详解以及寻路结果贴边优化
  • ‌移动管家手机智能控制汽车系统
  • 828华为云征文|华为云Flexus X实例Redis性能加速评测及对比
  • 【OpenCV3】图像的翻转、图像的旋转、仿射变换之图像平移、仿射变换之获取变换矩阵、透视变换
  • 不要认为996是开玩笑
  • 精益工程师资格证书:2024年CLMP报名指南
  • 【Unity基础】如何选择脚本编译方式Mono和IL2CPP?
  • 写在OceanBase开源三周年
  • 【笔记】408刷题笔记
  • GitHub Star 数量前 13 的自托管项目清单
  • js实现生成随机数值的数组
  • 视频怎么转换成mp3格式?分享5种便捷的转换方法
  • Reflection 70B如何革新语言模型的准确性与推理能力
  • 覆盖索引是什么意思?
  • 最大间距问题
  • 【Hadoop|MapReduce篇】Hadoop序列化概述
  • 【Elasticsearch系列】Elasticsearch中的分页
  • NLTK:一个强大的自然语言处理处理Python库
  • NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现
  • 【支付】Stripe支付通道Java对接(产品 价格 支付 查询 退款 回调)
  • Unity3D 小案例 像素贪吃蛇 01 蛇的移动
  • 【STM32 MCU】stm32MCUs 32-bit Arm Cortex-M