ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

3.8.2 メール受信を行うアプリケーション

Mailの受信手順を次に示します。

  1. JavaMailリソースのlookup処理

  2. サーバへの接続

  3. 受信ディレクトリのオープン

  4. メッセージの取出し

1.JavaMailリソースのlookup処理

JavaMailリソースのlookup処理を行います。

  // Mailリソースのlookup
  Session session = null;
  try {
      InitialContext nctx = new InitialContext();
      session = (Session) nctx.lookup("java:comp/env/mail/MailSession");
  }
  catch(NamingException ex) { }

2.サーバへの接続

POP3サーバへ接続する場合

  // POP3サーバへの接続
  Store store = null;
  try {
      store = session.getStore("POP3");        /* POP3サーバへ接続*/
      store.connect("<hostname>", "<user>", "<password>");
  }
  catch(NoSuchProviderException ex) { }
  catch(MessagingException ex) { }

IMAPサーバへ接続する場合

  // IMAPサーバへの接続
  Store store = null;
  try {
      store = session.getStore("imap");        /* IMAPサーバへ接続 */
      store.connect("<hostname>", "<user>", "<password>");
  }
  catch(NoSuchProviderException ex) { }
  catch(MessagingException ex) { }

3.受信ディレクトリのオープン

受信ディレクトリをオープンします。

  // 受信ディレクトリのオープン
  Folder inbox = null;
  try {
      Folder rootFolder = store.getDefaultFolder();
      inbox = rootFolder.getFolder("INBOX");
      inbox.open(Folder.READ_WRITE);
  }
  catch(MessagingException ex) { }

4.メッセージの取出し

受信したメッセージを取出します。
メッセージから次の内容を取出します。

  // メッセージの取出し
  try {
      Message msg = inbox.getMessage(1);
      // 送信者(From)の取出し
      Address[] fromAddress = msg.getFrom();
      // 宛先(To)の取出し
      Address[] toAddress = msg.getRecipients(Message.RecipientType.TO);
      // 宛先(Cc)の取出し
      Address[] ccAddress = msg.getRecipients(Message.RecipientType.CC);
      // 宛先(Bcc)の取出し
      Address[] bccAddress = msg.getRecipients(Message.RecipientType.BCC);
      // 題名(Subject)の取出し
      String subject = msg.getSubject();
      // 本文の取出し
      Object content = msg.getContent();
      String text = content.toString();
  }
  catch(MessagingException ex) { }
  catch(IOException ex) { }