Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第1部 J2EE共通編> 第3章 J2EEアプリケーションの運用> 3.8 JavaMailを利用する場合の手順

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) { }
  -----------------------------------------------------------------------

目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED