org.opengion.hayabusa.mail

## クラス DefaultMailManager

- java.lang.Object
- - org.opengion.hayabusa.mail.DefaultMailManager

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

      public class DefaultMailManager
      extends Object

       タグ mailSender2 及びバッチによる送信の共通処理部分を実装しています。
       送信タグ mailSender2 もしくは送信デーモンからパラメータを受取ります。
       パラメータ中の定型文ID及びシステムIDで定型文マスタよりメールの定型文を取得して、
       パラメータ値とマージしてメール文を合成します。同時に、宛先にセットした社員ID、
       グループIDと定型文の宛先設定に基づき、社員マスタとグループマスタよりメールアドレス
       情報を取得して送信を行います。
       エラーがなければ送信した内容を履歴テーブル、宛先テーブルに書き込みます。
       最後に本処理の呼出元に送信結果、エラーメッセージを返します。

  機能分類
    メールモジュール
  バージョン
    4.0
  作成者
    Sen.Li
  導入されたバージョン:
    JDK1.6

- - ### フィールドのサマリー

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `protected static ApplicationInfo` | `APP_INFO` アプリケーション情報
    `protected String` | `DBID`
    `protected static String` | `FGJ_ACNT_ERR` フラグ定数 "8"
    `protected static String` | `FGJ_ADDR_ERR` フラグ定数 "7"
    `protected static String` | `FGJ_SEND_OVER` フラグ定数 "1"
    `protected static String` | `FGJ_SEND_WAIT` フラグ定数 "0"

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `DefaultMailManager()` デフォルトコンストラクター

  - ### メソッドのサマリー

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

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

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

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

    - #### FGJ_SEND_WAIT

          protected static final String FGJ_SEND_WAIT

      フラグ定数 "0"
      関連項目:
        定数フィールド値

    - #### FGJ_SEND_OVER

          protected static final String FGJ_SEND_OVER

      フラグ定数 "1"
      関連項目:
        定数フィールド値

    - #### FGJ_ADDR_ERR

          protected static final String FGJ_ADDR_ERR

      フラグ定数 "7"
      関連項目:
        定数フィールド値

    - #### FGJ_ACNT_ERR

          protected static final String FGJ_ACNT_ERR

      フラグ定数 "8"
      関連項目:
        定数フィールド値

    - #### DBID

          protected final 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(ConcurrentMap 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に変更します。

    - #### 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接続するかどうかを指定するパラメータを追加します。

    - #### setDebug

          public void setDebug(boolean debug)

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

    - #### setFromAddr

          public void setFromAddr(String from)

      メール送信者アドレスをセットします。
      パラメータ:
        `from` - 送信者アドレス

    - #### setTitle

          public void setTitle(String title)

      メールタイトルをセットします。
      パラメータ:
        `title` - メールタイトル

    - #### setContent

          public void setContent(String content)

      メール本文をセットします。
      パラメータ:
        `content` - メール本文

    - #### setHost

          public void setHost(String hostName)

      メール送信ホストをセットします。 初期値は、システム定数のCOMMON_MAIL_SERVER を使用します。 (初期値:システム定数のCOMMON_MAIL_SERVER[=])。
      パラメータ:
        `hostName` - 送信ホスト
      変更履歴:

        5.6.6.0 (2013/07/05)

    - #### setPort

          public void setPort(String port)

      メール送信ポート番号をセットします。 初期値は、システム定数のSMTP_PORT を使用します。 (初期値:システム定数のSMTP_PORT[=])。
      パラメータ:
        `port` - SMTPポート
      変更履歴:

        5.6.6.0 (2013/07/05)

    - #### setAuthType

          public void setAuthType(String type)

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

        6.0.3.0 (2014/11/13) Ver6用キーワード変更

    - #### setAuthUser

          public void setAuthUser(String user)

      メール送信認証ユーザをセットします。 初期値は、システム定数のMAIL_SEND_AUTH_USER を使用します。 (初期値:システム定数のMAIL_SEND_AUTH_USER[=opengion])。
      パラメータ:
        `user` - 認証ユーザ
      変更履歴:

        5.6.6.0 (2013/07/05)

    - #### setAuthPass

          public void setAuthPass(String pass)

      メール送信認証パスワードをセットします。 初期値は、システム定数のMAIL_SEND_AUTH_PASSWORD を使用します。 (初期値:システム定数のMAIL_SEND_AUTH_PASSWORD[=password])。
      パラメータ:
        `pass` - 認証パスワード
      変更履歴:

        5.6.6.0 (2013/07/05)

    - #### getFromAddr

          public String getFromAddr()

      メール送信者アドレスを返します。
      戻り値:
        送信者アドレス

    - #### getTitle

          public String getTitle()

      メールタイトルを返します。
      戻り値:
        メールタイトル

    - #### getContent

          public 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(ConcurrentMap 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(String attach1,
                                        String attach2,
                                        String attach3,
                                        String attach4,
                                        String attach5)

      添付ファイル配列をセットします。
      パラメータ:
        `attach1` - 添付ファイル名1
        `attach2` - 添付ファイル名2
        `attach3` - 添付ファイル名3
        `attach4` - 添付ファイル名4
        `attach5` - 添付ファイル名5

    - #### setMailDstMap

          protected void setMailDstMap(ConcurrentMap 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 ConcurrentMap 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 String trim(String src,
                                int maxLen)

      指定の長さ以内の文字列を返します。
      パラメータ:
        `src` - オリジナルの文字列
        `maxLen` - 指定の長さ
      戻り値:
        指定の長さに短縮された文字列
      変更履歴:

        5.9.1.3 (2015/10/30) 文字数ではなくByte数に変更

    - #### getErrList

          protected List getErrList()

      アドレスチェックのエラーリストを返します。
      戻り値:
        エラーリスト

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.