** JAVAでメールを受信する [#d75ca1de]

#setlinebreak(on)

 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 defFolder = store.getDefaultFolder();
 		Folder inbox = defFolder.getFolder("INBOX");
 		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
 		//defFolder.close(false); // DefaultFolderはcloseできない
 		store.close();
 	}
 }

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS