Raising SendFailedException
1 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   vasuki_upadhya
Posted On:   Wednesday, January 2, 2002 04:58 AM

SendFailedException is not raised even in case of invlalid reciepients ? What should I have to do for raising the exception either in the code or in the mail server ? Here is the code. public class msgsendsample { static String msgText = "This is a message body. Here's the second line."; public static void main(String[] args) { if (args.length != 4) { usage(); System.exit(1); } System.out.println(); String to = args[0]; String from = args[1]; String host = args[2]; boolean debug = Boolean.valueOf(args[3]).booleanValue(); // create some properties and get the default Session Properties props = new    More>>

SendFailedException is not raised even in case of invlalid reciepients ? What should I have to do for raising the exception either in the code or in the mail server ?


Here is the code.
public class msgsendsample {
static String msgText = "This is a message body.
Here's the second line.";

public static void main(String[] args) {
if (args.length != 4) {
usage();
System.exit(1);
}

System.out.println();

String to = args[0];
String from = args[1];
String host = args[2];
boolean debug = Boolean.valueOf(args[3]).booleanValue();

// create some properties and get the default Session
Properties props = new Properties();
props.put("mail.smtp.host", host);
if (debug) props.put("mail.debug", args[3]);
props.put("mail.smtp.auth", "true");

Authenticator auth = new MyAuthenticator();
Session session = Session.getDefaultInstance(props, auth);
session.setDebug(debug);

try {
// create a message
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(args[0])};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject("JavaMail APIs Test");
msg.setSentDate(new Date());
// If the desired charset is known, you can use
// setText(text, charset)
msg.setText(msgText);

Transport.send(msg);
} catch (MessagingException mex) {
System.out.println("
--Exception handling in msgsendsample.java");

mex.printStackTrace();
System.out.println();
Exception ex = mex;
do {
if (ex instanceof SendFailedException) {
SendFailedException sfex = (SendFailedException)ex;
Address[] invalid = sfex.getInvalidAddresses();
if (invalid != null) {
System.out.println(" ** Invalid Addresses");
if (invalid != null) {
for (int i = 0; i < invalid.length; i++)
System.out.println(" " + invalid[i]);
}
}
Address[] validUnsent = sfex.getValidUnsentAddresses();
if (validUnsent != null) {
System.out.println(" ** ValidUnsent Addresses");
if (validUnsent != null) {
for (int i = 0; i < validUnsent.length; i++)
System.out.println(" "+validUnsent[i]);
}
}
Address[] validSent = sfex.getValidSentAddresses();
if (validSent != null) {
System.out.println(" ** ValidSent Addresses");
if (validSent != null) {
for (int i = 0; i < validSent.length; i++)
System.out.println(" "+validSent[i]);
}
}
}
System.out.println();
if (ex instanceof MessagingException)
ex = ((MessagingException)ex).getNextException();
else
ex = null;
} while (ex != null);
}
}

private static void usage() {
System.out.println("usage: java msgsendsample true|false");
}
}

   <<Less

Re: Raising SendFailedException

Posted By:   John_Zukowski  
Posted On:   Thursday, January 3, 2002 07:06 AM

There is no way to "validate" the email address. Until the receiving mail server determines the address is invalid, the mail transport system thinks everything is okay. (This is already addressed in several other FAQs and forum entries.)
About | Sitemap | Contact