From 9fe872e7d3e4f4736b784c38f7178b9b9d7d0237 Mon Sep 17 00:00:00 2001 From: Iwao AVE! Date: Sat, 26 Nov 2011 00:12:32 +0900 Subject: [PATCH] =?utf8?q?Fixes=20#26817=20SendMailImpl,=20SendMailProImpl?= =?utf8?q?=20=E3=81=A7=E3=80=81Session=20=E7=94=9F=E6=88=90=E6=99=82?= =?utf8?q?=E3=81=AB=E6=B8=A1=E3=81=95=E3=82=8C=E3=82=8B=20Properties=20?= =?utf8?q?=E3=82=AA=E3=83=96=E3=82=B8=E3=82=A7=E3=82=AF=E3=83=88=E3=82=92?= =?utf8?q?=E7=94=9F=E6=88=90=E3=81=99=E3=82=8B=E3=82=B3=E3=83=BC=E3=83=89?= =?utf8?q?=E3=82=92=20protected=20=E3=81=AA=E3=83=A1=E3=82=BD=E3=83=83?= =?utf8?q?=E3=83=89=E3=81=AB=E3=81=99=E3=82=8B=E3=80=82=E5=BE=8C=E6=96=B9?= =?utf8?q?=E4=BA=92=E6=8F=9B=E6=80=A7=E3=82=92=E7=B6=AD=E6=8C=81=E3=81=99?= =?utf8?q?=E3=82=8B=E3=81=9F=E3=82=81=E3=80=81=E3=83=87=E3=83=95=E3=82=A9?= =?utf8?q?=E3=83=AB=E3=83=88=E3=81=AE=E5=AE=9F=E8=A3=85=E3=81=A7=E3=81=AF?= =?utf8?q?=E3=82=BF=E3=82=A4=E3=83=A0=E3=82=A2=E3=82=A6=E3=83=88=E3=81=A8S?= =?utf8?q?MTP=E8=AA=8D=E8=A8=BC=E3=81=AE=E8=A8=AD=E5=AE=9A=E3=82=92?= =?utf8?q?=E3=82=BB=E3=83=83=E3=83=88=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../java/com/ozacc/mail/impl/SendMailImpl.java | 31 +++++++++++++++------- .../java/com/ozacc/mail/impl/SendMailProImpl.java | 22 +++++++++++---- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/ozacc/mail/impl/SendMailImpl.java b/src/main/java/com/ozacc/mail/impl/SendMailImpl.java index aef932a..18184c5 100644 --- a/src/main/java/com/ozacc/mail/impl/SendMailImpl.java +++ b/src/main/java/com/ozacc/mail/impl/SendMailImpl.java @@ -71,9 +71,9 @@ public class SendMailImpl implements SendMail { private String messageId; - private int connectionTimeout = DEFAULT_CONNECTION_TIMEOUT; + protected int connectionTimeout = DEFAULT_CONNECTION_TIMEOUT; - private int readTimeout = DEFAULT_READ_TIMEOUT; + protected int readTimeout = DEFAULT_READ_TIMEOUT; /** * コンストラクタ。 @@ -153,14 +153,7 @@ public class SendMailImpl implements SendMail { private void processSend(MimeMessageWrapper[] mmws) throws MailException { - Properties prop = new Properties(); - // タイムアウトの設定 - prop.put("mail.smtp.connectiontimeout", String.valueOf(connectionTimeout)); - prop.put("mail.smtp.timeout", String.valueOf(readTimeout)); - // mail.smtp.authプロパティの設定 - if (username != null && !"".equals(username) && password != null && !"".equals(password)) { - prop.put("mail.smtp.auth", "true"); - } + Properties prop = initProperties(); Session session = Session.getInstance(prop); Transport transport = null; @@ -221,6 +214,24 @@ public class SendMailImpl implements SendMail { } /** + *

Session 生成時に渡される Properties オブジェクトを生成して返します。
+ * デフォルトの実装では、タイムアウトおよび SMTP 認証有効化のプロパティを設定しています。

+ * + * @return 生成した Properties オブジェクト + */ + protected Properties initProperties() { + Properties prop = new Properties(); + // タイムアウトの設定 + prop.put("mail.smtp.connectiontimeout", String.valueOf(connectionTimeout)); + prop.put("mail.smtp.timeout", String.valueOf(readTimeout)); + // mail.smtp.authプロパティの設定 + if (username != null && !"".equals(username) && password != null && !"".equals(password)) { + prop.put("mail.smtp.auth", "true"); + } + return prop; + } + + /** * 新しいMimeMessageオブジェクトを生成します。
* messageIdプロパティがセットされている場合、OMLMimeMessageのインスタンスを生成します。 * diff --git a/src/main/java/com/ozacc/mail/impl/SendMailProImpl.java b/src/main/java/com/ozacc/mail/impl/SendMailProImpl.java index c69d9a6..03c35b9 100644 --- a/src/main/java/com/ozacc/mail/impl/SendMailProImpl.java +++ b/src/main/java/com/ozacc/mail/impl/SendMailProImpl.java @@ -75,9 +75,9 @@ public class SendMailProImpl implements SendMailPro { private String messageId; - private int connectionTimeout = DEFAULT_CONNECTION_TIMEOUT; + protected int connectionTimeout = DEFAULT_CONNECTION_TIMEOUT; - private int readTimeout = DEFAULT_READ_TIMEOUT; + protected int readTimeout = DEFAULT_READ_TIMEOUT; /** * コンストラクタ。 @@ -125,10 +125,22 @@ public class SendMailProImpl implements SendMailPro { } /** - * Sessionの初期化を行います。 - * タイムアウト値を設定したPropertiesをセットします。 + *

+ * {@link #initProperties()} から返された Properties を引数として Session の初期化を行います。 + *

*/ private void initSession() { + Properties prop = initProperties(); + session = Session.getInstance(prop); + } + + /** + *

Session 生成時に渡される Properties オブジェクトを生成して返します。
+ * デフォルトの実装では、タイムアウトおよび SMTP 認証有効化のプロパティを設定しています。

+ * + * @return 生成した Properties オブジェクト + */ + protected Properties initProperties() { Properties prop = new Properties(); // タイムアウトの設定 prop.put("mail.smtp.connectiontimeout", String.valueOf(connectionTimeout)); @@ -137,7 +149,7 @@ public class SendMailProImpl implements SendMailPro { if (username != null && !"".equals(username) && password != null && !"".equals(password)) { prop.put("mail.smtp.auth", "true"); } - session = Session.getInstance(prop); + return prop; } /** -- 2.11.0