Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.0.0, 3.0.1
-
None
-
Security Level: public (Regular issues)
-
None
-
Windows 7, JRE 7
Description
Calls to javax.mail.Session.getTransport() throw a NoSuchProviderException, regardless of the selected provider (smtp, smtps, imap, etc.). A call to javax.mail.Session.getProviders() returns an empty list. Here is a test case:
Properties emailServerProperties = new Properties();
emailServerProperties.put("mail.smtps.host", smtpServerAddress);
emailServerProperties.put("mail.smtps.port", smtpServerPort);
emailServerProperties.put("mail.transport.protocol", "smtps");
emailServerProperties.put("mail.smtps.auth", "true");
emailServerSession = Session.getInstance(emailServerProperties);
transportToEmailServer = emailServerSession.getTransport();
The NoSuchProviderException is thrown in the last line of the code example.
I'm not sure whether this helps with the investigation: the above code works in IBM WebSphere CE up to version 3.0.0.3, which is based on Geronimo 3.0.0. There, it was necessary to name geronimo-javamail_1.4_mail-1.8.3.jar as a dependency and to add it to the classpath. In Geronimo 3.0.0/3.0.1, geronimo-javamail_1.4_mail-1.8.3.jar is included in the runtime and adding it to the classpath or the list of dependencies makes no difference as far as the NoSuchProviderException is concerned.