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());
}
}
闽公网安备 35060202000074号