クラス DefaultMailManager

  • 直系の既知のサブクラス:
    MailManager_DB, MailManager_DIRECT

    public class DefaultMailManager
    extends java.lang.Object
    タグ mailSender2 及びバッチによる送信の共通処理部分を実装しています。 送信タグ mailSender2 もしくは送信デーモンからパラメータを受取ります。 パラメータ中の定型文ID及びシステムIDで定型文マスタよりメールの定型文を取得して、 パラメータ値とマージしてメール文を合成します。同時に、宛先にセットした社員ID、 グループIDと定型文の宛先設定に基づき、社員マスタとグループマスタよりメールアドレス 情報を取得して送信を行います。 エラーがなければ送信した内容を履歴テーブル、宛先テーブルに書き込みます。 最後に本処理の呼出元に送信結果、エラーメッセージを返します。
    機能分類
    メールモジュール
    バージョン
    4.0
    作成者
    Sen.Li
    導入されたバージョン:
    JDK1.6
    • フィールドの概要

      フィールド 
      修飾子とタイプ フィールド 説明
      protected static ApplicationInfo APP_INFO
      アプリケーション情報
      protected java.lang.String DBID  
      protected static java.lang.String FGJ_ACNT_ERR
      フラグ定数 "8"
      protected static java.lang.String FGJ_ADDR_ERR
      フラグ定数 "7"
      protected static java.lang.String FGJ_SEND_OVER
      フラグ定数 "1"
      protected static java.lang.String FGJ_SEND_WAIT
      フラグ定数 "0"
    • コンストラクタの概要

      コンストラクタ 
      コンストラクタ 説明
      DefaultMailManager()
      デフォルトコンストラクター
    • メソッドの概要

      すべてのメソッド インスタンス・メソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      protected void commitMailDB()
      送信結果を履歴テーブル(GE32)と宛先テーブル(GE34)に登録します。
      void create​(java.util.concurrent.ConcurrentMap<java.lang.String,​java.lang.String> params)
      呼出元よりパラメータマップを受取って、メールオブジェクト(mailObj)を作成します。
      java.lang.String getContent()
      メール本文を返します。
      protected java.util.List<java.lang.String> getErrList()
      アドレスチェックのエラーリストを返します。
      java.lang.String getFromAddr()
      メール送信者アドレスを返します。
      protected java.util.concurrent.ConcurrentMap<java.lang.String,​java.lang.String[]> getMailDstMap()
      メール宛先マップをセットします。
      java.lang.String getTitle()
      メールタイトルを返します。
      void send()
      メール送信を行うメソッドです。
      protected void setAttachFiles​(java.lang.String attach1, java.lang.String attach2, java.lang.String attach3, java.lang.String attach4, java.lang.String attach5)
      添付ファイル配列をセットします。
      void setAuthPass​(java.lang.String pass)
      メール送信認証パスワードをセットします。
      void setAuthType​(java.lang.String type)
      メール送信時認証有無をセットします。
      void setAuthUser​(java.lang.String user)
      メール送信認証ユーザをセットします。
      void setContent​(java.lang.String content)
      メール本文をセットします。
      void setDebug​(boolean debug)
      デバッグ情報の表示を行うかどうか[true/false]をセットします。
      void setFromAddr​(java.lang.String from)
      メール送信者アドレスをセットします。
      void setHost​(java.lang.String hostName)
      メール送信ホストをセットします。
      protected void setInitParams​(java.util.concurrent.ConcurrentMap<java.lang.String,​java.lang.String> params)
      パラメータマップをセットします。
      protected void setMailDstMap​(java.util.concurrent.ConcurrentMap<java.lang.String,​java.lang.String[]> mailDst)
      メール宛先マップをセットします。
      void setPort​(java.lang.String port)
      メール送信ポート番号をセットします。
      void setTitle​(java.lang.String title)
      メールタイトルをセットします。
      void setUseTLS​(boolean flg)
      メール送信にSTARTTLSを利用するかのフラグをセットします。
      protected java.lang.String trim​(java.lang.String src, int maxLen)
      指定の長さ以内の文字列を返します。
      • クラスから継承されたメソッド java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • フィールドの詳細

      • FGJ_SEND_WAIT

        protected static final java.lang.String FGJ_SEND_WAIT
        フラグ定数 "0"
        関連項目:
        定数フィールド値
      • FGJ_SEND_OVER

        protected static final java.lang.String FGJ_SEND_OVER
        フラグ定数 "1"
        関連項目:
        定数フィールド値
      • FGJ_ADDR_ERR

        protected static final java.lang.String FGJ_ADDR_ERR
        フラグ定数 "7"
        関連項目:
        定数フィールド値
      • FGJ_ACNT_ERR

        protected static final java.lang.String FGJ_ACNT_ERR
        フラグ定数 "8"
        関連項目:
        定数フィールド値
      • DBID

        protected final java.lang.String DBID
      • APP_INFO

        protected static final ApplicationInfo APP_INFO
        アプリケーション情報
    • コンストラクタの詳細

      • DefaultMailManager

        public DefaultMailManager()
        デフォルトコンストラクター
        変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
    • メソッドの詳細

      • create

        public void create​(java.util.concurrent.ConcurrentMap<java.lang.String,​java.lang.String> params)
        呼出元よりパラメータマップを受取って、メールオブジェクト(mailObj)を作成します。 メールオブジェクトは定型文ID及びシステムIDに基づいて定型文マスタからメールの定型文を取得して、 パラメータ値とマージしてメール文の各項目を合成します。 宛先については、宛先にセットした社員ID、グループIDと定型文の宛先設定に基づき、社員マスタとグループマスタ よりメールアドレスを取得して宛先マップを作成します。 まだ、添付ファイルのセット処理も行っています。
        パラメータ:
        params - パラメータのマップ
        変更履歴:
        5.6.6.0 (2013/07/05) host等の外部設定対応, 6.0.3.0 (2014/11/13) Ver6用キーワード変更, 6.4.3.1 (2016/02/12) 作成元のMapを、HashMap から ConcurrentHashMap に置き換え。, 6.4.3.3 (2016/03/04) ConcurrentHashMap を受け取ることを明確にするため、I/FをConcurrentMapに変更します。, 5.9.15.1 (2016/12/09) エラーリストのクリア, 5.9.29.2 (2018/02/16) STARTTLS対応(キーワードをVer5 にあわせます)
      • send

        public void send()
        メール送信を行うメソッドです。 createメソッドより合成した内容で送信を行います。アドレスエラー発生時に、 ユーザー設定(addrCheck)により再送/中止します。 メールサーバーに送信して、例外"SendFailedException"をキャッチできたら、 メールアカウントがエラーとなるのを分かります。そして、例外のオブジェクトから エラーとなっているアカウントを取得して宛先マップから除外して、残りのアドレスに再送できます。 送信後履歴テーブル(GE32)、宛先テーブル(GE34)に送信結果を書き込みます。
        変更履歴:
        5.4.3.2 (2012/01/06) 送信時認証対応, 6.0.3.0 (2014/11/13) Ver6用キーワード変更, 6.3.8.0 (2015/09/11) SSL接続するかどうかを指定するパラメータを追加します。, 5.9.29.2 (2018/02/16) STARTTLS対応(キーワードをVer5 にあわせます)
      • setDebug

        public void setDebug​(boolean debug)
        デバッグ情報の表示を行うかどうか[true/false]をセットします。
        パラメータ:
        debug - [true:出力する/それ以外:しない]
      • setFromAddr

        public void setFromAddr​(java.lang.String from)
        メール送信者アドレスをセットします。
        パラメータ:
        from - 送信者アドレス
      • setTitle

        public void setTitle​(java.lang.String title)
        メールタイトルをセットします。
        パラメータ:
        title - メールタイトル
      • setContent

        public void setContent​(java.lang.String content)
        メール本文をセットします。
        パラメータ:
        content - メール本文
      • setHost

        public void setHost​(java.lang.String hostName)
        メール送信ホストをセットします。 初期値は、システム定数のCOMMON_MAIL_SERVER を使用します。 (初期値:システム定数のCOMMON_MAIL_SERVER[=])。
        パラメータ:
        hostName - 送信ホスト
        変更履歴:
        5.6.6.0 (2013/07/05)
      • setPort

        public void setPort​(java.lang.String port)
        メール送信ポート番号をセットします。 初期値は、システム定数のSMTP_PORT を使用します。 (初期値:システム定数のSMTP_PORT[=])。
        パラメータ:
        port - SMTPポート
        変更履歴:
        5.6.6.0 (2013/07/05)
      • setAuthType

        public void setAuthType​(java.lang.String type)
        メール送信時認証有無をセットします。 認証を行う場合は「POP_BEFORE_SMTP」と指定して下さい。 認証時には認証ユーザと認証パスワードを設定する必要があります。 初期値は、システム定数のMAIL_SEND_AUTH を使用します。 (初期値:システム定数のMAIL_SEND_AUTH[=])。
        パラメータ:
        type - 認証方式
        変更履歴:
        6.0.3.0 (2014/11/13) Ver6用キーワード変更
      • setAuthUser

        public void setAuthUser​(java.lang.String user)
        メール送信認証ユーザをセットします。 初期値は、システム定数のMAIL_SEND_AUTH_USER を使用します。 (初期値:システム定数のMAIL_SEND_AUTH_USER[=])。
        パラメータ:
        user - 認証ユーザ
        変更履歴:
        5.6.6.0 (2013/07/05)
      • setAuthPass

        public void setAuthPass​(java.lang.String pass)
        メール送信認証パスワードをセットします。 初期値は、システム定数のMAIL_SEND_AUTH_PASSWORD を使用します。 (初期値:システム定数のMAIL_SEND_AUTH_PASSWORD[=])。
        パラメータ:
        pass - 認証パスワード
        変更履歴:
        5.6.6.0 (2013/07/05)
      • setUseTLS

        public void setUseTLS​(boolean flg)
        メール送信にSTARTTLSを利用するかのフラグをセットします。 初期値は、システム定数のMAIL_SEND_USE_STARTTLS を使用します。 (初期値:システム定数のMAIL_SEND_AUTH_PASSWORD[=])。
        パラメータ:
        flg - TLSの利用有無
        変更履歴:
        5.9.29.2 (2018/02/16) STARTTLS対応(キーワードをVer5 にあわせます)
      • getFromAddr

        public java.lang.String getFromAddr()
        メール送信者アドレスを返します。
        戻り値:
        送信者アドレス
      • getTitle

        public java.lang.String getTitle()
        メールタイトルを返します。
        戻り値:
        メールタイトル
      • getContent

        public java.lang.String getContent()
        メール本文を返します。
        戻り値:
        メール本文
      • commitMailDB

        protected void commitMailDB()
        送信結果を履歴テーブル(GE32)と宛先テーブル(GE34)に登録します。 登録時に、桁数オーバーにならないように、テーブル定義の桁数を上限として、 登録前に各項目の桁数整理を行います。
        変更履歴:
        5.5.5.1 (2012/08/07) リソース系DBID 付け忘れ対策, 5.9.1.3 (2015/10/30) 4000文字カットをやめる, 6.3.9.0 (2015/11/06) Map.keySet() ではなく、Map.values() を使う様に変更。, 6.4.2.0 (2016/01/29) DateSet.getDate( String ) を利用するように修正します。
      • setInitParams

        protected void setInitParams​(java.util.concurrent.ConcurrentMap<java.lang.String,​java.lang.String> params)
        パラメータマップをセットします。
        パラメータ:
        params - パラメータのマップ
        変更履歴:
        6.4.3.1 (2016/02/12) 作成元のMapを、HashMap から ConcurrentHashMap に置き換え。, 6.4.3.3 (2016/03/04) ConcurrentHashMap を受け取ることを明確にするため、I/FをConcurrentMapに変更します。
      • setAttachFiles

        protected void setAttachFiles​(java.lang.String attach1,
                                      java.lang.String attach2,
                                      java.lang.String attach3,
                                      java.lang.String attach4,
                                      java.lang.String attach5)
        添付ファイル配列をセットします。
        パラメータ:
        attach1 - 添付ファイル名1
        attach2 - 添付ファイル名2
        attach3 - 添付ファイル名3
        attach4 - 添付ファイル名4
        attach5 - 添付ファイル名5
      • setMailDstMap

        protected void setMailDstMap​(java.util.concurrent.ConcurrentMap<java.lang.String,​java.lang.String[]> mailDst)
        メール宛先マップをセットします。
        パラメータ:
        mailDst - メール宛先マップ
        変更履歴:
        6.4.3.1 (2016/02/12) 作成元のMapを、HashMap から ConcurrentHashMap に置き換え。, 6.4.3.3 (2016/03/04) ConcurrentHashMap を受け取ることを明確にするため、I/FをConcurrentMapに変更します。
      • getMailDstMap

        protected java.util.concurrent.ConcurrentMap<java.lang.String,​java.lang.String[]> getMailDstMap()
        メール宛先マップをセットします。
        戻り値:
        メール宛先マップ
        変更履歴:
        6.4.3.1 (2016/02/12) 作成元のMapを、HashMap から ConcurrentHashMap に置き換え。, 6.4.3.1 (2016/02/12) ConcurrentMap 系は、key,val ともに not null 制限です。, 6.4.3.3 (2016/03/04) ConcurrentHashMap を受け取ることを明確にするため、I/FをConcurrentMapに変更します。
      • trim

        protected java.lang.String trim​(java.lang.String src,
                                        int maxLen)
        指定の長さ以内の文字列を返します。
        パラメータ:
        src - オリジナルの文字列
        maxLen - 指定の長さ
        戻り値:
        指定の長さに短縮された文字列
        変更履歴:
        5.9.1.3 (2015/10/30) 文字数ではなくByte数に変更
      • getErrList

        protected java.util.List<java.lang.String> getErrList()
        アドレスチェックのエラーリストを返します。
        戻り値:
        エラーリスト