Can you give the line number as to where the error is
happening.
I found this link on google search you can read thru
the same it describes similar problems.
We have not had problems using java mail under tomcat
but we dont use imap.
http://forum.java.sun.com/thread.jspa?threadID=761635&messageID=4347363

-Sameer

--- jamieb <[EMAIL PROTECTED]> wrote:

> 
> 
> Hi there
> 
> I have encountered a bizzare problem... I have a
> small peice of code that
> fetches emails from an IMAP server using TLS. This
> code works perfectly in a
> standalone application, however, when I copy and
> paste it over to a Tomcat
> application it does not work.  The code uses Java
> Mail 1.4.1 and Java Secure
> Sockets. 
> 
> The following error is outputted when the code is
> run from within Tomcat:
> 
> javax.mail.MessagingException: Unrecognized SSL
> message, plaintext
> connection?;
>   nested exception is:
>       javax.net.ssl.SSLException: Unrecognized SSL
> message, plaintext connection?
> 
> NOTE: in case you are wondering: YES in both cases
> the server is connecting
> to the same port. 
> 
> Now I have checked:
> - the same java mail version is used across
> applications
> - the same JRE (v1.6)
> - all input parameters are the same
> 
> Any ideas on what might be causing this problem in
> the Tomcat environment? 
> 
> package com.test.support;
> 
> import java.io.*;
> import java.security.Security;
> import java.util.Properties;
> import javax.mail.*;
> import javax.mail.internet.*;
> import java.net.*;
> 
> public class TestMailboxConnection {
> 
>       /**
>        * @param args
>        */
>       
>       private static final String DUMMY_SSL_FACTORY =
> "com.test.support.DummySSLSocketFactory";
>       
>       public static void main(String[] args) {
> 
>         
>                  if (args.length<3) {
>                   System.out.println("\n\nUtility to
> Detect Mail Server
> Connection Settings");
>                   System.out.println("Usage:
> TestMailboxConnection server
> username password port secure_port ");
>                   return;
>               }
>                   String server = args[0];
>                   String username = args[1];
>                   String password = args[2];
>                   
>                   String port = "143";
>                   String secureport = "993";
>                   
>                   if (args.length>3) {
>                       port   = args[3];
>                       secureport   = args[4];
>                   }
>                   
>                   
>                   Properties props = new Properties();
>                   // Insecure Test
>                   testEcho(server,port);
>                   //testEcho(server,secureport);
>                       System.out.println("properties:"+props);
>                   String protocol = "imap";
>                   props.put("mail."+protocol+".port",port); 
>               test("imap
>
insecure",protocol,server,Integer.valueOf(port),username,password,props);
>         
> props.put("mail."+protocol+".starttls.enable",
> Boolean.TRUE);
>         
>
props.put("mail."+protocol+".socketFactory.fallback","true");
>         
> props.put("mail."+protocol+".socketFactory.class",
> getSSLFactory());
>         
>
props.put("mail."+protocol+".socketFactory.port",secureport);
> 
>               test("imap tls
>
(fallback)",protocol,server,Integer.valueOf(port),username,password,props);
>         
>
props.put("mail."+protocol+".socketFactory.fallback","false");
>               test("imap
>
tls",protocol,server,Integer.valueOf(port),username,password,props);
>               
>               protocol = "imaps";
>               props = new Properties();
>         
>
props.put("mail."+protocol+".socketFactory.fallback","false");
>         
> props.put("mail."+protocol+".socketFactory.class",
> getSSLFactory());
>         
>
props.put("mail."+protocol+".socketFactory.port",secureport);
>               test("imap
>
ssl",protocol,server,Integer.valueOf(port),username,password,props);
>    
>               
> 
>       }
> 
>       public static String getSSLFactory() {
>               return DUMMY_SSL_FACTORY;
>       }
>       
>       public static void test(String testName, String
> protocol, String server,
> int port, String username, String password,
> Properties props) {
>               java.security.Provider[] providers =
> Security.getProviders(); 
>               Session session = Session.getInstance(props,
> null);
>         session.setDebug(true);
>         Store store = null;
>         try {
>               store = session.getStore(protocol);
>         } catch (Exception nspe) {
>               System.out.println("no such provider");
>               return;
>         }
>         try {
>         
>
System.out.println("\nprotocol='"+protocol+"',server='"+server+"',port='"+port+"',username='"+username+"',password='"+password+"'}");
>               System.out.println(props+"\n");
>               store.connect(server,Integer.valueOf(port),
> username,password);
>         } catch (Exception e) {
>               System.out.println("\n>>>>>>>>>>>>>>>>>
> failed:"+e.getMessage()+"\n");
>               System.out.println("mailbox connection
> properties "+props);
>               e.printStackTrace();
>               return;
>         }
>         System.out.println("\n>>>>>>>>>>>>>>>>>
> success!"+"\n");
>         System.out.println("mailbox connection
> properties "+props);
>         return;
>       }
>       
>       public static void testEcho(String server,String
> port) {
>                       System.out.println("test echo (port "+port+"):");
>                   BufferedReader in = null;
>                   Socket echoSocket=null;
>                       try {
>                   echoSocket = new Socket(server,
> Integer.valueOf(port));
>                   in = new BufferedReader(new
> InputStreamReader(
>                                              
> echoSocket.getInputStream()));
>                   echoSocket.setSoTimeout(2000);
>                   System.out.println("echo: " +
> in.readLine());
>                       in.close();
>                       echoSocket.close();
>               } catch (UnknownHostException e) {
>                   System.err.println("unknown host
> host:"+server);
>                   return;
>               } catch (IOException e) {
>                   System.err.println("IO error occurred
> while connecting to
> host:"+e.getMessage());
>                   return;
>               }
> 
>               
>       }
> 
> 
> 
> }
> 
> 
> -- 
> View this message in context:
>
http://www.nabble.com/Java-Mail-Inside-Tomcat-tp16008995p16008995.html
> Sent from the Tomcat - User mailing list archive at
> Nabble.com.
> 
> 
>
---------------------------------------------------------------------
> To start a new topic, e-mail:
> users@tomcat.apache.org
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
> 



      
____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to