Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SSLSocket Exception in javamail

28 views
Skip to first unread message

news

unread,
Nov 4, 2003, 11:41:38 AM11/4/03
to
I want to connect a email server with ssl security. I am using the attched
code, but I get the following exception:
javax.mail.MessagingException: DummySSLSocketFactory;
nested exception is:
java.net.SocketException: DummySSLSocketFactory
at
com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:335)
at javax.mail.Service.connect(Service.java:233)
at javax.mail.Service.connect(Service.java:134)
at
com.geniewave.mail.slave.server.SimpleReceiver.receive(SimpleReceiver.java:5
5)
at
com.geniewave.mail.slave.server.SimpleReceiver.main(SimpleReceiver.java:26)

Could someone help me with that? Thank you very much. Here is the code


private static void setProperties(Properties props)
{
Security.addProvider( new com.sun.net.ssl.internal.ssl.Provider());
Security.setProperty( "ssl.SocketFactory.provider",
"DummySSLSocketFactory");
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// IMAP provider
props.setProperty( "mail.imap.socketFactory.class", SSL_FACTORY);
props.setProperty( "mail.imap.socketFactory.fallback", "false");
props.setProperty( "mail.imap.port", "993");
props.setProperty( "mail.imap.socketFactory.port", "993");
}

public static void receive(String popServer, String popUser
, String popPassword)
{
Store store=null;
Folder folder=null;
try
{
// -- Get hold of the default session --
Properties props = System.getProperties();
setProperties(props);
props.put("mail.debug","true");
Session session = Session.getInstance(props, null);

// -- Get hold of a POP3 message store, and connect to it --
store = session.getStore("imap");
store.connect(popServer, popUser, popPassword);

// -- ...and its INBOX --
folder = store.getFolder("INBOX");
if (folder == null) throw new Exception("No POP3 INBOX");

// -- Open the folder for read only --
folder.open(Folder.READ_ONLY);
Message[] msg = folder.getMessages();
int count = folder.getMessageCount();
for (int i = 0; i < count; i++)
{
String[] froms = msg[i].getHeader("From");
System.out.println(( (InternetAddress)
msg[i].getFrom()[0]).getAddress());
String to = "";
Address[] tos = msg[i].getRecipients(Message.RecipientType.TO);
for(int j=0;j<tos.length; j++)
{
to += ((InternetAddress)(tos[j])).getAddress();
}


System.out.println(((InternetAddress)(msg[i].getRecipients(Message.Recipient
Type.TO))[0]).getAddress());;
printMessage(msg[i]);
}

}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
// -- Close down nicely --
try
{
if (folder!=null) folder.close(false);
if (store!=null) store.close();
}
catch (Exception ex2) {ex2.printStackTrace();}
}
}


hzhao2

unread,
Nov 20, 2003, 12:43:22 PM11/20/03
to
** Due to U.S. export restrictions, the JSSE implementation in Sun
Microsystems' Java 2 SDK, v 1.4 does not allow replacement of the
default SSLSocketFactory or SSLServerSocketFactory implementations.
Please see the note on pluggability in the Introduction. If you are
using a different JSSE implementation that allows alternate SSL/TLS
implementation, you do so by setting the specified security
properties.


"news" <qiang...@geniewave.com> wrote in message news:<6FQpb.16729$152....@news01.bloor.is.net.cable.rogers.com>...

0 new messages