Вот разбивка настроек моего проекта:
Настройка проекта:
Версия Java: OpenJDK 21.0.4 LTS (Темурин)
Код: Выделить всё
openjdk version "21.0.4" 2024-07-16 LTS
OpenJDK Runtime Environment Temurin-21.0.4+7 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.4+7 (build 21.0.4+7-LTS, mixed mode, sharing)
Сервер: Tomcat 9, работающий в Windows, со следующими конфигурациями:
Путь JRE: C: \Program Files\Java\jdk1.7.0_80\jre
Путь JDK: C:\Program Files\Java\jdk1.7.0_80
Путь Tomcat: C:\Program Files\Apache Software Foundation\Tomcat 9.0
Конфигурация Catalina: C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf\Catalina
База данных: драйвер PostgreSQL 42.2.29 (PostgreSQL JDBC)
Основная проблема: система восстановления пароля использует при отправке электронных писем через JavaMail, но я продолжаю получать ошибку подтверждения SSL всякий раз, когда система пытается отправить электронное письмо. Ниже приведено полное сообщение об ошибке:
Код: Выделить всё
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at sun.security.ssl.HandshakeContext.(HandshakeContext.java:171)
at sun.security.ssl.ClientHandshakeContext.(ClientHandshakeContext.java:101)
at sun.security.ssl.TransportContext.kickstart(TransportContext.java:238)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:394)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:373)
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:237)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927)
Используемые библиотеки (JAR):< /p>
PostgreSQL JDBC (postgresql-42.2.29.jre7.jar)
Bcrypt (jbcrypt-0.4.jar)
JavaMail API (mail-1.4.7.jar, smtp-1.6.2.jar, javax.activation.jar)
Политики безопасности (US_export_policy.jar, local_policy.jar)
Что я пробовал:
Убедился, что на сервере и в моей конфигурации JavaMail включены правильные протоколы SSL.
Пытался обновить библиотеку JavaMail, чтобы устранить потенциальные несоответствия протоколов SSL.
Посмотрел порядок файлов JAR в папке lib, чтобы проверить для конфликтующих библиотек.
Остающиеся вопросы:
Связана ли ошибка подтверждения SSL с моей версией Java 21 или это неправильная конфигурация сервера JavaMail или Tomcat?
Может ли проблема быть связана с более старыми версиями JavaMail или другими файлами JAR, вызывающими конфликты с протоколами SSL?
Кто-нибудь сталкивался с подобными проблемами при использовании JavaMail для восстановления пароля в проекте JSP? Как вы решили проблему с подтверждением SSL?
Я был бы признателен за любые советы о том, как решить эту проблему, особенно относительно конфигурации SSL с JavaMail. Если речь идет о версиях JAR, каковы будут правильные версии и порядок этих библиотек?
Заранее спасибо за любую информацию!
Один день в учебном заведении, где я веду этот проект, отправка писем просто работала, мне не нужно было ничего менять, я просто пришел, включил компьютер и все заработало, я считал, что на этой машине установлена Java-конфигурация, но на днях, когда я снова тестировал на том же компьютере, он снова выдал мне ошибку при отправке электронных писем.
Подробнее здесь: https://stackoverflow.com/questions/790 ... jsp-projec
Мобильная версия