Man kan ogsaa laese email - fra POP3 og IMAP4 servere.
Eksempel fra lageret:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
import javax.mail.Flags;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Store;
public class Pop {
public static void main(String[] args) {
String server = args[0];
String username = args[1];
String password = args[2];
list(server, username, password);
get(server, username, password, 1);
}
public static void list(String server, String username, String password) {
try {
Properties props = System.getProperties();
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("pop3");
store.connect(server, username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] msgs = folder.getMessages();
for(int i = 0; i < msgs.length; i++) {
System.out.println(msgs[i].getMessageNumber() + " " +
msgs[i].getFrom()[0] + " " +
msgs[i].getSubject());
}
folder.close(false);
store.close();
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
public static void get(String server, String username, String password, int n) {
try {
Properties props = System.getProperties();
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("pop3");
store.connect(server, username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
if(folder.getMessageCount() >= n) {
Message[] msgs = folder.getMessages(n, n);
System.out.println(msgs[0].getFrom()[0] + " " +
msgs[0].getAllRecipients()[0] + " " +
msgs[0].getSubject());
BufferedReader body = new BufferedReader(new InputStreamReader(msgs[0].getInputStream()));
String line;
while((line = body.readLine()) != null) {
System.out.println(line);
}
msgs[0].setFlag(Flags.Flag.DELETED, true);
}
folder.close(true);
store.close();
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}