JAVAでメールを受信する †
package sample;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Flags;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Store;
public class MyMailReceive
{
/**
* メール受信。<br />
* @param args
* @throws MessagingException
* @throws IOException
*/
public static void main(String[] args) throws MessagingException, IOException {
// 接続〜受信BOXのOPENまで
Properties prop = new Properties();
prop.setProperty("mail.pop3.host", ホスト名);
prop.setProperty("mail.pop3.port", "110");
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(ユーザ名, パスワード);
}};
Session session = Session.getInstance(prop, authenticator);
Store store = session.getStore("pop3");
store.connect();
Folder inbox = store.getDefaultFolder().getFolder("INBOX");
//inbox.open(Folder.READ_ONLY);
inbox.open(Folder.READ_WRITE);
Message[] messages = inbox.getMessages();
for (Message message : messages) {
// 読み出し
String subject = message.getSubject();
Date sentDate = message.getSentDate();
Address[] address = message.getFrom();
String msgBody = (String)message.getContent();
System.out.println("From: " + address[0]);
System.out.println("Subject: " + subject);
System.out.println("Date: " + sentDate);
System.out.println("----------\n" + msgBody + "----------\n");
// 削除
inbox.setFlags(new Message[]{ message }, new Flags(Flags.Flag.DELETED), true);
}
inbox.close(true); // 読み込みだけの時はfalaeでOK
store.close();
}
}