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();
	}
}

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-04-04 (水) 06:30:30 (4406d)