| |
import java.io.*; import java.util.*;
import javax.mail.*; import javax.mail.internet.*; import javax.activation.*;
/** * demonstrate pop mail using javamail. requires mail.jar activation.jar * sample run: java -cp .;mail.jar;activation.jar popmail **/ public class popmail { public static void main(string args[]) throws exception { string pop3host="myhost.com", popuser="john", poppassword="letmein";
session session = session.getdefaultinstance(system.getproperties(), null); store store = session.getstore("pop3"); store.connect(pop3host, -1, popuser, poppassword);
// open the default folder folder folder = store.getdefaultfolder(); if (folder == null) throw new nullpointerexception("no default mail folder");
folder = folder.getfolder("inbox"); if (folder == null) throw new nullpointerexception("unable to get folder: " + folder);
// get message count folder.open(folder.read_write); int totalmessages = folder.getmessagecount(); if (totalmessages == 0) { system.out.println("no messages found in inbox"); folder.close(false); store.close(); return; } // get attributes & flags for all messages message[] messages = folder.getmessages(); fetchprofile fp = new fetchprofile(); fp.add(fetchprofile.item.envelope); fp.add(fetchprofile.item.flags); fp.add("x-mailer"); folder.fetch(messages, fp);
// process each message for (int i = 0; i < messages.length; i++) { if (!messages[i].isset(flags.flag.seen)) process(messages[i]); //messages[i].setflag(flags.flag.deleted, true); } folder.close(true); store.close(); }
private static void process(message message) throws exception { system.out.println("subject: " + message.getsubject() + ", sent: " + message.getsentdate() + ", size: " + message.getsize()); } }
|
|