パッケージ org.opengion.fukurou.mail

## クラス MailRX

- java.lang.Object
- - org.opengion.fukurou.mail.MailRX

-     public class MailRX
      extends Object

  MailRX は、POP3/IMAPプロトコルによるメール受信プログラムです。 メールへの接続条件(host,user,passwd など)と、選択条件(matchTermなど)を指定し、 MailReceiveListener をセットして、start() メソッドを呼びます。 実際のメール処理は、MailReceiveListener を介して、１メールずつ処理します。 添付ファイルを処理する場合は、MailAttachFiles クラスを使用します。 host メールサーバー(必須) user メールを取得するログインユーザー(必須) passwd メールを取得するログインパスワード(必須) protocol 受信サーバーのプロトコル[imap/pop3]を指定(初期値:) port 受信サーバーのポートを指定(初期値:) useSSL SSL接続するかどうか[true:する/false:しない]を指定(初期値:false:しない) mbox 受信サーバーのメールボックスを指定(初期値:) maxRowCount 受信メールの最大取り込み件数(初期値:)(0:[無制限]) charset メールのデフォルトエンコード(初期値:) matchTerm 受信メールを選択する条件のMINEntryオブジェクト delete 検索後、メールをサーバーから削除するかどうかを、true/falseで指定(初期値:)。 ※ 6.3.8.0 (2015/09/11) useSSL属性は、protocolに、pop3s/imaps を指定した場合、 自動的に、ture に設定するようにしています。
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールド | 説明
    --- | --- | ---
    `static String` | `CHARSET` | メールのデフォルトエンコード 「="ISO-2022-JP"」 Windwos-31J , MS932 , UTF-8 , ISO-2022-JP を指定します。
    `static boolean` | `DELETE_MESSAGE` | 検索後、メールをサーバーから削除するかどうかを、true/falseで指定します 「=false」
    `static int` | `MAX_ROW_COUNT` | 受信メールの最大取り込み件数を指定します 「=100」
    `static String` | `MBOX` | メールサーバーのデフォルトメールボックス 「="INBOX"」。
    `static int` | `PORT` | メールサーバーのデフォルトポート番号 「=-1」
    `static String` | `PROTOCOL` | メールサーバーのデフォルトプロトコル 「="pop3"」

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `MailRX()` |

  - ### メソッドの概要

    すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `void` | `addMatchTerm​(HybsEntry matchTerm)` | メール検索する場合のマッチ条件のキーと値の HybsEntry をセットします。
    `static void` | `main​(String[] args)` | コマンドから実行できる、テスト用の main メソッドです。
    `void` | `setCharset​(String charset)` | 文字エンコーディングをセットします(初期値:)。
    `void` | `setDebug​(boolean debug)` | デバッグ情報の表示を行うかどうかをセットします。
    `void` | `setDelete​(boolean deleteFlag)` | メッセージをメールサーバーから削除するかどうかをセットします(初期値:)。
    `void` | `setHost​(String host)` | メールサーバーをセットします(必須)。
    `void` | `setMailReceiveListener​(MailReceiveListener listener)` | メール受信毎に発生するイベントを伝えるリスナーをセットします。
    `void` | `setMaxRowCount​(int maxCount)` | 最大取り込み件数をセットします(初期値:)(0:[無制限])。
    `void` | `setMbox​(String mbox)` | 受信メイルボックスをセットします(初期値:)。
    `void` | `setPasswd​(String passwd)` | パスワードをセットします(必須)。
    `void` | `setPort​(int port)` | ポート番号をセットします(初期値:)。
    `void` | `setProtocol​(String prtcol)` | 受信プロトコル(pop3/imap等)をセットします(初期値:)。
    `void` | `setUser​(String user)` | 受信ユーザーをセットします(必須)。
    `void` | `start()` | レシーバーを開始します。
    `void` | `useSSL​(boolean isSSL)` | SSL接続するかどうかをセットします(初期値:false:しない)。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### MAX_ROW_COUNT

          public static final int MAX_ROW_COUNT

      受信メールの最大取り込み件数を指定します 「=100」
      関連項目:
        定数フィールド値

    - #### DELETE_MESSAGE

          public static final boolean DELETE_MESSAGE

      検索後、メールをサーバーから削除するかどうかを、true/falseで指定します 「=false」
      関連項目:
        定数フィールド値

    - #### PROTOCOL

          public static final String PROTOCOL

      メールサーバーのデフォルトプロトコル 「="pop3"」
      関連項目:
        定数フィールド値

    - #### PORT

          public static final int PORT

      メールサーバーのデフォルトポート番号 「=-1」
      関連項目:
        定数フィールド値

    - #### MBOX

          public static final String MBOX

      メールサーバーのデフォルトメールボックス 「="INBOX"」。
      関連項目:
        定数フィールド値

    - #### CHARSET

          public static final String CHARSET

      メールのデフォルトエンコード 「="ISO-2022-JP"」 Windwos-31J , MS932 , UTF-8 , ISO-2022-JP を指定します。
      関連項目:
        定数フィールド値

  - ### コンストラクタの詳細

    - #### MailRX

          public MailRX()

  - ### メソッドの詳細

    - #### start

          public void start()
                     throws javax.mail.MessagingException,
                            javax.mail.NoSuchProviderException

      レシーバーを開始します。
      例外:
        `javax.mail.MessagingException` - レシーバー処理中に、なんらかのエラーが発生した場合。
        `javax.mail.NoSuchProviderException` - なんらかのエラーが発生した場合。
      変更履歴:
        6.3.8.0 (2015/09/11) SSL接続するかどうかを指定するパラメータを追加します。

    - #### setHost

          public void setHost​(String host)

      メールサーバーをセットします(必須)。
      パラメータ:
        `host` - メールサーバー
      例外:
        `IllegalArgumentException` - 引数が null の場合。

    - #### setUser

          public void setUser​(String user)

      受信ユーザーをセットします(必須)。
      パラメータ:
        `user` - 受信ユーザー
      例外:
        `IllegalArgumentException` - 引数が null の場合。

    - #### setPasswd

          public void setPasswd​(String passwd)

      パスワードをセットします(必須)。
      パラメータ:
        `passwd` - パスワード
      例外:
        `IllegalArgumentException` - 引数が null の場合。

    - #### setProtocol

          public void setProtocol​(String prtcol)

      受信プロトコル(pop3/imap等)をセットします(初期値:)。 protocolに、pop3s/imaps を指定した場合、 useSSL属性は、自動的に、ture に設定されます。
      パラメータ:
        `prtcol` - 受信プロトコル名
      例外:
        `IllegalArgumentException` - 引数が null の場合。
      関連項目:
        `PROTOCOL`

    - #### setPort

          public void setPort​(int port)

      ポート番号をセットします(初期値:)。 portが、-1 の場合は、protocol に応じたポートが使用されます。 pop3:110 , imap:143 , pop3s:995 , imaps:993
      パラメータ:
        `port` - ポート番号
      関連項目:
        `PORT`

    - #### useSSL

          public void useSSL​(boolean isSSL)

      SSL接続するかどうかをセットします(初期値:false:しない)。 protocolに、pop3s/imaps を指定した場合、 useSSL属性は、自動的に、ture に設定されます。
      パラメータ:
        `isSSL` - SSL接続するかどうか[true:する/false:しない]を指定
      変更履歴:
        6.3.8.0 (2015/09/11) SSL接続するかどうかを指定するパラメータを追加します。

    - #### setMbox

          public void setMbox​(String mbox)

      受信メイルボックスをセットします(初期値:)。
      パラメータ:
        `mbox` - 受信メイルボックス名
      例外:
        `IllegalArgumentException` - 引数が null の場合。
      関連項目:
        `MBOX`

    - #### setMailReceiveListener

          public void setMailReceiveListener​(MailReceiveListener listener)

      メール受信毎に発生するイベントを伝えるリスナーをセットします。
      パラメータ:
        `listener` - MailReceiveリスナー

    - #### setDelete

          public void setDelete​(boolean deleteFlag)

      メッセージをメールサーバーから削除するかどうかをセットします(初期値:)。
      パラメータ:
        `deleteFlag` - 削除するかどうか[true:行う/false:行わない]
      関連項目:
        `DELETE_MESSAGE`

    - #### setCharset

          public void setCharset​(String charset)

      文字エンコーディングをセットします(初期値:)。 文字エンコーディングには、Windwos-31J , MS932 , ISO-2022-JP を指定できます。 初期値は、SystemResource.properties ファイルの MAIL_DEFAULT_CHARSET 属性で 設定できます。
      パラメータ:
        `charset` - 文字エンコーディング
      例外:
        `IllegalArgumentException` - 引数が null の場合。
      関連項目:
        `CHARSET`

    - #### setMaxRowCount

          public void setMaxRowCount​(int maxCount)

      最大取り込み件数をセットします(初期値:)(0:[無制限])。
      パラメータ:
        `maxCount` - 最大取り込み件数
      関連項目:
        `MAX_ROW_COUNT`
      変更履歴:
        5.5.8.5 (2012/11/27) 0を無制限として処理します。

    - #### addMatchTerm

          public void addMatchTerm​(HybsEntry matchTerm)

      メール検索する場合のマッチ条件のキーと値の HybsEntry をセットします。 Subject,From,Body,それ以外は、Header 文字列をキーにします。
      パラメータ:
        `matchTerm` - HybsEntryオブジェクト

    - #### setDebug

          public void setDebug​(boolean debug)

      デバッグ情報の表示を行うかどうかをセットします。
      パラメータ:
        `debug` - 有無[true/false]

    - #### main

          public static void main​(String[] args)
                           throws javax.mail.MessagingException

      コマンドから実行できる、テスト用の main メソッドです。 Usage: java org.opengion.fukurou.mail.MailTX MailRX host user passwd [saveDir] で、複数の添付ファイルを送付することができます。
      パラメータ:
        `args` - 引数配列
      例外:
        `javax.mail.MessagingException` - なんらかのエラーが発生した場合。
      変更履歴:
        6.3.9.1 (2015/11/27) A method/constructor shouldnt explicitly throw java.lang.Exception(PMD)。