org.opengion.hayabusa.mail

## クラス AbstractMailManager

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

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

      public abstract class AbstractMailManager
      extends Object

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

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

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static ApplicationInfo` | `appInfo` アプリケーション情報
    `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"

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

    コンストラクタ
    コンストラクタと説明
    `AbstractMailManager()`

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `protected void` | `commitMailDB()` 送信結果を履歴テーブル(GE32)と宛先テーブル(GE34)に登録します。
    `void` | `create(Map<String,String> params)` 呼出元よりパラメータマップを受取って、メールオブジェクト(mailObj)を作成します。
    `String` | `getContent()` メール本文を返します。
    `protected List<String>` | `getErrList()` アドレスチェックのエラーリストを返します。
    `String` | `getFromAddr()` メール送信者アドレスを返します。
    `protected Map<String,String[]>` | `getMailDstMap()` メール宛先マップをセットします。
    `String` | `getTitle()` メールタイトルを返します。
    `void` | `send()` メール送信を行うメソッドです。
    `protected void` | `setAttachFiles(String attach1, String attach2, String attach3, String attach4, String attach5)` 添付ファイル配列をセットします。
    `void` | `setAuth(String useAuth)` メール送信時認証有無をセットします。
    `void` | `setAuthPass(String pass)` メール送信認証パスワードをセットします。
    `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(Map<String,String> params)` パラメータマップをセットします。
    `protected void` | `setMailDstMap(Map<String,String[]> 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

    - #### appInfo

          public static final ApplicationInfo appInfo

      アプリケーション情報

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

    - #### AbstractMailManager

          public AbstractMailManager()

  - ### メソッドの詳細

    - #### create

          public void create(Map<String,String> params)

      呼出元よりパラメータマップを受取って、メールオブジェクト(mailObj)を作成します。 メールオブジェクトは定型文ID及びシステムIDに基づいて定型文マスタからメールの定型文を取得して、 パラメータ値とマージしてメール文の各項目を合成します。 宛先については、宛先にセットした社員ID、グループIDと定型文の宛先設定に基づき、社員マスタとグループマスタ よりメールアドレスを取得して宛先マップを作成します。 まだ、添付ファイルのセット処理も行っています。
      パラメータ:
        `params` - パラメータのマップ
      変更履歴:

        5.6.6.0 (2013/07/05) host等の外部設定対応
        5.9.15.1 (2016/12/09) エラーリストのクリア

    - #### send

          public void send()

      メール送信を行うメソッドです。 createメソッドより合成した内容で送信を行います。アドレスエラー発生時に、 ユーザー設定(addrCheck)により再送/中止します。 メールサーバーに送信して、例外"SendFailedException"をキャッチできたら、 メールアカウントがエラーとなるのを分かります。そして、例外のオブジェクトから エラーとなっているアカウントを取得して宛先マップから除外して、残りのアドレスに再送できます。 送信後履歴テーブル(GE32)、宛先テーブル(GE34)に送信結果を書き込みます。 og.rev 5.4.3.2 (2012/01/06) 送信時認証対応

    - #### 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)

    - #### setAuth

          public void setAuth(String useAuth)

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

        5.6.6.0 (2013/07/05)

    - #### 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文字カットをやめる

    - #### setInitParams

          protected void setInitParams(Map<String,String> params)

      パラメータマップをセットします。
      パラメータ:
        `params` - パラメータのマップ

    - #### 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(Map<String,String[]> mailDst)

      メール宛先マップをセットします。
      パラメータ:
        `mailDst` - メール宛先マップ

    - #### getMailDstMap

          protected Map<String,String[]> getMailDstMap()

      メール宛先マップをセットします。
      戻り値:
        メール宛先マップ

    - #### trim

          protected String trim(String src,
                    int maxLen)

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

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

    - #### getErrList

          protected List<String> getErrList()

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

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