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

クラス MailRX


  • public class MailRX
    extends Object
    MailRX は、POP3/IMAPプロトコルによるメール受信プログラムです。 メールへの接続条件(host,user,passwd など)と、選択条件(matchTermなど)を指定し、 MailReceiveListener をセットして、start() メソッドを呼びます。 実際のメール処理は、MailReceiveListener を介して、1メールずつ処理します。 添付ファイルを処理する場合は、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:しない)。
    • フィールドの詳細

      • 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)。