64 lines
1.9 KiB
Java
64 lines
1.9 KiB
Java
|
Mail message util
|
||
|
|
||
|
|
||
|
|
||
|
package com.ack.j2ee.javamail;
|
||
|
|
||
|
import java.io.PrintStream;
|
||
|
import javax.mail.Address;
|
||
|
import javax.mail.MessagingException;
|
||
|
import javax.mail.SendFailedException;
|
||
|
|
||
|
/**
|
||
|
* provides useful feedback on JavaMail MessagingExceptions
|
||
|
*/
|
||
|
public class MailMessageUtil implements java.io.Serializable {
|
||
|
/**
|
||
|
* Writes the messaging exception in readable format to the supplied print stream.
|
||
|
* @param me The MessagingException object
|
||
|
* @param out The PrintStream to display the exception on
|
||
|
*/
|
||
|
public static void reportOnException( MessagingException me, PrintStream out ) {
|
||
|
do {
|
||
|
if( me instanceof SendFailedException ) {
|
||
|
SendFailedException sfex = (SendFailedException) me;
|
||
|
Address[] invalid = sfex.getInvalidAddresses();
|
||
|
|
||
|
if( invalid != null ) {
|
||
|
out.println( " ** Invalid Addresses" );
|
||
|
if( invalid != null ) {
|
||
|
for( int i = 0; i < invalid.length; i++ )
|
||
|
out.println( " " + invalid[i] );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Address[] validUnsent = sfex.getValidUnsentAddresses();
|
||
|
if( validUnsent != null ) {
|
||
|
out.println( " ** ValidUnsent Addresses" );
|
||
|
if( validUnsent != null ) {
|
||
|
for( int i = 0; i < validUnsent.length; i++ )
|
||
|
out.println( " " + validUnsent[i] );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Address[] validSent = sfex.getValidSentAddresses();
|
||
|
if( validSent != null ) {
|
||
|
out.println( " ** ValidSent Addresses" );
|
||
|
if( validSent != null ) {
|
||
|
for( int i = 0; i < validSent.length; i++ )
|
||
|
out.println( " " + validSent[i] );
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
out.println();
|
||
|
if( me instanceof MessagingException ) {
|
||
|
me = (MessagingException) me.getNextException();
|
||
|
}
|
||
|
else {
|
||
|
me = null;
|
||
|
}
|
||
|
} while( me != null );
|
||
|
}
|
||
|
}
|