クラス 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 ApplicationInfoAPP_INFOアプリケーション情報protected StringDBIDリソース系DBIDprotected static StringFGJ_ACNT_ERRフラグ定数 "8"protected static StringFGJ_ADDR_ERRフラグ定数 "7"protected static StringFGJ_SEND_OVERフラグ定数 "1"protected static StringFGJ_SEND_WAITフラグ定数 "0"
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 DefaultMailManager()デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 protected voidcommitMailDB()送信結果を履歴テーブル(GE32)と宛先テーブル(GE34)に登録します。voidcreate(ConcurrentMap<String,String> params)呼出元よりパラメータマップを受取って、メールオブジェクト(mailObj)を作成します。StringgetContent()メール本文を返します。protected List<String>getErrList()アドレスチェックのエラーリストを返します。StringgetFromAddr()メール送信者アドレスを返します。protected ConcurrentMap<String,String[]>getMailDstMap()メール宛先マップをセットします。StringgetTitle()メールタイトルを返します。voidsend()メール送信を行うメソッドです。protected voidsetAttachFiles(String attach1, String attach2, String attach3, String attach4, String attach5)添付ファイル配列をセットします。voidsetAuthPass(String pass)メール送信認証パスワードをセットします。voidsetAuthType(String type)メール送信時認証有無をセットします。voidsetAuthUser(String user)メール送信認証ユーザをセットします。voidsetContent(String content)メール本文をセットします。voidsetDebug(boolean debug)デバッグ情報の表示を行うかどうか[true/false]をセットします。voidsetFromAddr(String from)メール送信者アドレスをセットします。voidsetHost(String hostName)メール送信ホストをセットします。protected voidsetInitParams(ConcurrentMap<String,String> params)パラメータマップをセットします。protected voidsetMailDstMap(ConcurrentMap<String,String[]> mailDst)メール宛先マップをセットします。voidsetPort(String port)メール送信ポート番号をセットします。voidsetTitle(String title)メールタイトルをセットします。voidsetUseTLS(boolean flg)メール送信にSTARTTLSを利用するかのフラグをセットします。protected Stringtrim(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数に変更
-
-