クラス 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
リソース系DBIDprotected 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<String,String> params)
呼出元よりパラメータマップを受取って、メールオブジェクト(mailObj)を作成します。String
getContent()
メール本文を返します。protected List<String>
getErrList()
アドレスチェックのエラーリストを返します。String
getFromAddr()
メール送信者アドレスを返します。protected ConcurrentMap<String,String[]>
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<String,String> params)
パラメータマップをセットします。protected void
setMailDstMap(ConcurrentMap<String,String[]> mailDst)
メール宛先マップをセットします。void
setPort(String port)
メール送信ポート番号をセットします。void
setTitle(String title)
メールタイトルをセットします。void
setUseTLS(boolean flg)
メール送信にSTARTTLSを利用するかのフラグをセットします。protected String
trim(String src, int maxLen)
指定の長さ以内の文字列を返します。
-
-
-
フィールドの詳細
-
DBID
protected final String DBID
リソース系DBID
-
APP_INFO
protected static final ApplicationInfo APP_INFO
アプリケーション情報
-
-
メソッドの詳細
-
create
public void create(ConcurrentMap<String,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(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[=])。- パラメータ:
user
- 認証ユーザ- 変更履歴:
- 5.6.6.0 (2013/07/05)
-
setAuthPass
public void setAuthPass(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 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<String,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(String attach1, String attach2, String attach3, String attach4, String attach5)
添付ファイル配列をセットします。- パラメータ:
attach1
- 添付ファイル名1attach2
- 添付ファイル名2attach3
- 添付ファイル名3attach4
- 添付ファイル名4attach5
- 添付ファイル名5
-
setMailDstMap
protected void setMailDstMap(ConcurrentMap<String,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 ConcurrentMap<String,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 String trim(String src, int maxLen)
指定の長さ以内の文字列を返します。- パラメータ:
src
- オリジナルの文字列maxLen
- 指定の長さ- 戻り値:
- 指定の長さに短縮された文字列
- 変更履歴:
- 5.9.1.3 (2015/10/30) 文字数ではなくByte数に変更
-
-