import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;/**
 * msgsendsample creates a very simple text/plain message and sends it.
 * <p>
 * usage: <code>java msgsendsample <i>to from smtphost true|false</i></code>
 * where <i>to</i> and <i>from</i> are the destination and
 * origin email addresses, respectively, and <i>smtphost</i>
 * is the hostname of the machine that has the smtp server
 * running. The last parameter either turns on or turns off
 * debugging during sending.
 *
 * @author Max Spivak
 */
public class msgsendsample {
    static String msgText = "This is a message body.\nHere'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]);Session session = Session.getDefaultInstance(props, null);
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("\n--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; i2B+) 
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 <to> <from> <smtp> true|false");
    }
}郁闷中,只谈技术同美食