クラス DefaultMailManager
java.lang.Object
org.opengion.hayabusa.mail.DefaultMailManager
- 直系の既知のサブクラス:
MailManager_DB
,MailManager_DIRECT
タグ mailSender2 及びバッチによる送信の共通処理部分を実装しています。
送信タグ mailSender2 もしくは送信デーモンからパラメータを受取ります。
パラメータ中の定型文ID及びシステムIDで定型文マスタよりメールの定型文を取得して、
パラメータ値とマージしてメール文を合成します。同時に、宛先にセットした社員ID、
グループIDと定型文の宛先設定に基づき、社員マスタとグループマスタよりメールアドレス
情報を取得して送信を行います。
エラーがなければ送信した内容を履歴テーブル、宛先テーブルに書き込みます。
最後に本処理の呼出元に送信結果、エラーメッセージを返します。
- 機能分類
- メールモジュール
- 導入されたバージョン:
- JDK1.6
-
フィールドの概要
フィールド -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明protected void
送信結果を履歴テーブル(GE32)と宛先テーブル(GE34)に登録します。void
create
(ConcurrentMap<String, String> params) 呼出元よりパラメータマップを受取って、メールオブジェクト(mailObj)を作成します。メール本文を返します。アドレスチェックのエラーリストを返します。メール送信者アドレスを返します。protected ConcurrentMap<String,
String[]> メール宛先マップをセットします。getTitle()
メールタイトルを返します。void
send()
メール送信を行うメソッドです。protected void
添付ファイル配列をセットします。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
メール送信ホストをセットします。protected void
setInitParams
(ConcurrentMap<String, String> params) パラメータマップをセットします。protected void
setMailDstMap
(ConcurrentMap<String, String[]> mailDst) メール宛先マップをセットします。void
メール送信ポート番号をセットします。void
メールタイトルをセットします。void
setUseTLS
(boolean flg) メール送信にSTARTTLSを利用するかのフラグをセットします。protected String
指定の長さ以内の文字列を返します。
-
フィールド詳細
-
コンストラクタの詳細
-
DefaultMailManager
public DefaultMailManager()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
create
呼出元よりパラメータマップを受取って、メールオブジェクト(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
メール送信を行うメソッドです。 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
デバッグ情報の表示を行うかどうか[true/false]をセットします。- パラメータ:
debug
- [true:出力する/それ以外:しない]
-
setFromAddr
メール送信者アドレスをセットします。- パラメータ:
from
- 送信者アドレス
-
setTitle
メールタイトルをセットします。- パラメータ:
title
- メールタイトル
-
setContent
メール本文をセットします。- パラメータ:
content
- メール本文
-
setHost
メール送信ホストをセットします。 初期値は、システム定数のCOMMON_MAIL_SERVER を使用します。 (初期値:システム定数のCOMMON_MAIL_SERVER[=])。- パラメータ:
hostName
- 送信ホスト- 変更履歴:
- 5.6.6.0 (2013/07/05)
-
setPort
メール送信ポート番号をセットします。 初期値は、システム定数のSMTP_PORT を使用します。 (初期値:システム定数のSMTP_PORT[=])。- パラメータ:
port
- SMTPポート- 変更履歴:
- 5.6.6.0 (2013/07/05)
-
setAuthType
メール送信時認証有無をセットします。 認証を行う場合は「POP_BEFORE_SMTP」と指定して下さい。 認証時には認証ユーザと認証パスワードを設定する必要があります。 初期値は、システム定数のMAIL_SEND_AUTH を使用します。 (初期値:システム定数のMAIL_SEND_AUTH[=])。- パラメータ:
type
- 認証方式- 変更履歴:
- 6.0.3.0 (2014/11/13) Ver6用キーワード変更
-
setAuthUser
メール送信認証ユーザをセットします。 初期値は、システム定数のMAIL_SEND_AUTH_USER を使用します。 (初期値:システム定数のMAIL_SEND_AUTH_USER[=])。- パラメータ:
user
- 認証ユーザ- 変更履歴:
- 5.6.6.0 (2013/07/05)
-
setAuthPass
メール送信認証パスワードをセットします。 初期値は、システム定数のMAIL_SEND_AUTH_PASSWORD を使用します。 (初期値:システム定数のMAIL_SEND_AUTH_PASSWORD[=])。- パラメータ:
pass
- 認証パスワード- 変更履歴:
- 5.6.6.0 (2013/07/05)
-
setUseTLS
メール送信にSTARTTLSを利用するかのフラグをセットします。 初期値は、システム定数のMAIL_SEND_USE_STARTTLS を使用します。 (初期値:システム定数のMAIL_SEND_AUTH_PASSWORD[=])。- パラメータ:
flg
- TLSの利用有無- 変更履歴:
- 5.9.29.2 (2018/02/16) STARTTLS対応(キーワードをVer5 にあわせます)
-
getFromAddr
メール送信者アドレスを返します。- 戻り値:
- 送信者アドレス
-
getTitle
メールタイトルを返します。- 戻り値:
- メールタイトル
-
getContent
メール本文を返します。- 戻り値:
- メール本文
-
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
パラメータマップをセットします。- パラメータ:
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
- 添付ファイル名1attach2
- 添付ファイル名2attach3
- 添付ファイル名3attach4
- 添付ファイル名4attach5
- 添付ファイル名5
-
setMailDstMap
メール宛先マップをセットします。- パラメータ:
mailDst
- メール宛先マップ- 変更履歴:
- 6.4.3.1 (2016/02/12) 作成元のMapを、HashMap から ConcurrentHashMap に置き換え。, 6.4.3.3 (2016/03/04) ConcurrentHashMap を受け取ることを明確にするため、I/Fを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
指定の長さ以内の文字列を返します。- パラメータ:
src
- オリジナルの文字列maxLen
- 指定の長さ- 戻り値:
- 指定の長さに短縮された文字列
- 変更履歴:
- 5.9.1.3 (2015/10/30) 文字数ではなくByte数に変更
-
getErrList
アドレスチェックのエラーリストを返します。- 戻り値:
- エラーリスト
-