+

Search Tips   |   Advanced Search

 

Enable debugger for a mail session

 

When debug a JavaMail application, you can use the JavaMail debugging feature. The JavaMail component will generate debugging information that can be used for problem determination or tuning.

 

Overview

Enabling the debugger triggers the JavaMail component of WebSphere Application Server to print the following data to the stdout output stream:

This output stream is redirected to the SystemOut.log file for the specific appserver.

The mail debugger functions on a per session basis. To enable the JavaMail debugging feature:

 

Procedure

  1. Open the console.

  2. Click Resources>Mail Providers>mail_session>Mail Session>mail session.

  3. Click Debug. Debug is enabled for just that session.

  4. Click Apply or OK.

 

Example

The following example shows sample JavaMail debugging output:

DEBUG: not loading system providers in <java.home>/lib
DEBUG  not loading optional custom providers file: /META-INF/javamail.providers
DEBUG: successfully loaded default providers
 
DEBUG  Tables of loaded providers 
DEBUG: Providers listed by Class Name:
{com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun
Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun
Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun
Microsystems, Inc]}
DEBUG:  Providers Listed By Protocol:
{imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems,
Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun
Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun
Microsystems, Inc]}
DEBUG: not loading optional address map file: /META-INF/javamail.address.map
*** In SessionFactory.getObjectInstance,
  The default SessionAuthenticator is based on:
   store_user = john_smith
   store_pw = abcdef 
*** In SessionFactory.getObjectInstance, parameters in the new session:
    mail.store.protocol="imap"
    mail.transport.protocol="smtp"
    mail.imap.user="john_smith"
    mail.smtp.host="smtp.coldmail.com"
    mail.debug="true" 
    ws.store.password="abcdef"
    mail.from="john_smith@coldmail.com"
    mail.smtp.class="com.sun.mail.smtp.SMTPTransport"
    mail.imap.class="com.sun.mail.imap.IMAPStore"
    mail.imap.host="coldmail.com"
DEBUG: mail.smtp.class property exists and points to com.sun.mail.smtp.SMTPTransport
DEBUG SMTP: useEhlo true, useAuth false
DEBUG: SMTPTransport trying to connect to host "smtp.coldmail.com", port 25    
 javax.mail.SendFailedException: Sending failed; 
      nested exception is:
      javax.mail.MessagingException: Unknown SMTP host: smtp.coldmail.com;
       nested exception is
       java.net.UnknownHostException: smtp.coldmail.com
       at javax.mail.Transport.send0(Transport.java:219) 
       at javax.mail.Transport.send(Transport.java:81)
       at ws.mailfvt.SendSaveTestCore.runAll(SendSaveTestCore.java:48)
       at testers.AnyTester.main(AnyTester.java:130)

This output illustrates a connection failure to a Simple Mail Transfer Protocol (SMTP) server because a fictitious name, smtp.coldmail.com, is specified as the server name. The following list provides tips on reading the previous sample of debugger output: