Я пытаюсь настроить свой проект Java, чтобы иметь возможность отправлять электронную почту (через g-mail, если это имеет значение), и я получаю «javax.mail.NoSuchProviderException : Нет провайдера для smtps "каждый раз, когда я пытаюсь запустить следующую строку (которая копирует/вставляет из их примера).javax.mail.NoSuchProviderException: Нет провайдера для smtps
Transport transport = session.getTransport("smtps");
Я огляделся и обнаружил, что это, как правило, выбрасывается, потому что не имеет mail.jar включены в пути к классам, но я на самом деле имею mail.jar включены. Поскольку я запускаю JDK 1.6, мне не нужно включать activ.jar в соответствии с FAQ здесь (http://www.oracle.com/technetwork/java/javamail/faq-135477.html#classpath). Кроме того, активация.jar, похоже, не присутствует в версии 1.4.7 javamail.
На всякий случай что-то испортилось, я повторно загрузил весь почтовый индекс с сайта oracle, извлек его и добавил банку свежие (после удаления старой банки), и я все равно получаю ту же ошибку. Какие-нибудь мысли о том, что может быть на данный момент?
EDIT: Вот полный стек трассировки, печатается:
javax.mail.NoSuchProviderException: No provider for smtps
at javax.mail.Session.getProvider(Session.java:433)
at javax.mail.Session.getTransport(Session.java:627)
at javax.mail.Session.getTransport(Session.java:608)
... my code that calls getTransport() ...
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
... more of my code ...
at java.lang.Thread.run(Thread.java:662)
Спасибо за это обновление. У меня была такая же проблема и та же причина. Моя проблема была решена путем установки javax.mail.jar в начале моего CLASSPATH (я в среде UNIX и использую командную строку). – Hampden123
Мы столкнулись с такой же ситуацией с использованием Java с Wildfly 8. Мы решили эту проблему, включая [smtp] (http://mvnrepository.com/artifact/com.sun.mail/smtp/1.5.4) зависимость от pom.xml, чтобы заставить поставщика для загрузки.Другим решением, которое работало, была настройка почты на администрирование Wildfly и использование @Resource. Однако для последнего подхода требуется конкретная конфигурация сервера приложений. –