com.ozacc.mail.mock
クラス MockSendMail

java.lang.Object
  拡張com.ozacc.mail.mock.MockSendMail
すべての実装インタフェース:
SendMail

public class MockSendMail
extends Object
implements SendMail

SendMailImplクラスのMock。
実存するSMTPサーバを設定しても、実際には送信されません。 デバッグモードを有効にすると、メールを送信するタイミングでコンソールに送信メール内容が出力されます。

Mailインスタンスを addExpectedMail() にセットし verify() メソッドを実行すると、send() されたMailインスタンスと全てのプロパティ(XHeaderを除く)が一致しなければAssertionFailedExceptionがスローされます。

例えば、send() されたMailインスタンスのFromアドレスと件名だけチェックし、その他のプロパティはチェックしたくない場合は、MockMailインスタンスを使用します。

Mail sentMail = new Mail();
sentMail.setFrom("from@example.com");
sentMail.setSubject("件名");
sentMail.addTo("to@example.com");
sentMail.setText("動的生成される本文");

Mail expectedMail = new Mail();
expectedMail.setFrom("from@example.com");
expectedMail.setSubject("件名");

MockMail mockMail = new MockMail();
mockMail.setFrom("from@example.com");
mockMail.setSubject("件名");

MockSendMail sendMail = new MockSendMail();
sendMail.addExpectedMail(expectedMail);
sendMail.send(sentMail);
sendMail.verify(); // 失敗 AssertionFailedException

sendMail = new MockSendMail();
sendMail.addExpectedMail(mockMail);
sendMail.send(sentMail);
sendMail.verify(); // 成功

注: MultipartMailの添付ファイルは比較対象になりません。

導入されたバージョン:
1.0
バージョン:
$Id: MockSendMail.java,v 1.9 2004/09/17 23:07:24 otsuka Exp $
作成者:
Tomohiro Otsuka

フィールドの概要
static String DEFAULT_HOST
          デフォルトのSMTPサーバ。
static int DEFAULT_PORT
          デフォルトのポート。
static String DEFAULT_PROTOCOL
          デフォルトのプロトコル。
static String JIS_CHARSET
          ISO-2022-JP
 
コンストラクタの概要
MockSendMail()
          コンストラクタ。
 
メソッドの概要
 void addExpectedMail(Mail expectedMail)
           
 void addExpectedMail(Mail[] expectedMails)
           
 void checkEquality(Mail expected, Mail sent, int num)
           
 String getCharset()
          エンコーディングに使用する文字コードを返します。
 String getHost()
          セットされたSMTPサーバのホスト名、またはIPアドレスを返します。
 MimeMessage[] getMimeMessages()
          送信されたメールのMimeMessageインスタンスを返します。
 String getPassword()
           
 int getPort()
           
 String getProtocol()
           
 String getReturnPath()
           
 Mail[] getSentMails()
          送信されたMailインスタンスを返します。
 String getUsername()
           
 void initialize()
          MockSendMailインスタンスを初期化します。
 boolean isDebug()
          デバッグモードが有効になっているか判定します。
 void send(Mail mail)
          指定されたメールを送信します。
 void send(Mail[] mails)
          指定されたメールを送信します。
 void send(MimeMessage mimeMessage)
          指定されたMimeMessageを送信します。
 void send(MimeMessage[] mimeMessages)
          指定されたMimeMessageを送信します。
 void setCharset(String charset)
          メールの件名や本文のエンコーディングに使用する文字コードを指定します。
 void setDebug(boolean debug)
          デバッグモード(コンソールにログを出力)を有効にします。
 void setHost(String host)
          SMTPサーバのホスト名、またはIPアドレスをセットします。
 void setPassword(String password)
          SMTPサーバの接続認証が必要な場合にパスワードをセットします。
 void setPort(int port)
          SMTPサーバのポート番号をセットします。
 void setProtocol(String protocol)
           
 void setReturnPath(String returnPath)
          Return-Pathアドレスをセットします。
 void setUsername(String username)
          SMTPサーバの接続認証が必要な場合にユーザ名をセットします。
 void verify()
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_PROTOCOL

public static final String DEFAULT_PROTOCOL
デフォルトのプロトコル。「smtp」

関連項目:
定数フィールド値

DEFAULT_PORT

public static final int DEFAULT_PORT
デフォルトのポート。「-1」

関連項目:
定数フィールド値

DEFAULT_HOST

public static final String DEFAULT_HOST
デフォルトのSMTPサーバ。「localhost」

関連項目:
定数フィールド値

JIS_CHARSET

public static final String JIS_CHARSET
ISO-2022-JP

関連項目:
定数フィールド値
コンストラクタの詳細

MockSendMail

public MockSendMail()
コンストラクタ。

メソッドの詳細

initialize

public void initialize()
MockSendMailインスタンスを初期化します。


getMimeMessages

public MimeMessage[] getMimeMessages()
送信されたメールのMimeMessageインスタンスを返します。 送信順の配列です。

戻り値:
送信メールのMimeMessageインスタンス配列

getSentMails

public Mail[] getSentMails()
送信されたMailインスタンスを返します。送信順の配列です。

戻り値:
送信メールのMailインスタンス配列

isDebug

public boolean isDebug()
デバッグモードが有効になっているか判定します。

戻り値:
Returns 有効になっている場合 true

setDebug

public void setDebug(boolean debug)
デバッグモード(コンソールにログを出力)を有効にします。 デフォルトは無効です。

パラメータ:
debug - デバッグモードを有効にする場合 true

addExpectedMail

public void addExpectedMail(Mail expectedMail)
パラメータ:
expectedMail -

addExpectedMail

public void addExpectedMail(Mail[] expectedMails)
パラメータ:
expectedMails -

verify

public void verify()
            throws AssertionFailedException
例外:
AssertionFailedException

checkEquality

public void checkEquality(Mail expected,
                          Mail sent,
                          int num)
                   throws AssertionFailedException
パラメータ:
expected -
sent -
例外:
AssertionFailedException

send

public void send(Mail mail)
          throws MailException
インタフェース SendMail の記述:
指定されたメールを送信します。

定義:
インタフェース SendMail 内の send
パラメータ:
mail -
例外:
MailException - メール送信に失敗した場合
関連項目:
SendMail.send(com.ozacc.mail.Mail)

send

public void send(Mail[] mails)
          throws MailException
インタフェース SendMail の記述:
指定されたメールを送信します。

定義:
インタフェース SendMail 内の send
パラメータ:
mails -
例外:
MailException - メール送信に失敗した場合
関連項目:
SendMail.send(com.ozacc.mail.Mail[])

send

public void send(MimeMessage mimeMessage)
          throws MailException
インタフェース SendMail の記述:
指定されたMimeMessageを送信します。

定義:
インタフェース SendMail 内の send
パラメータ:
mimeMessage -
例外:
MailException - メール送信に失敗した場合
関連項目:
SendMail.send(javax.mail.internet.MimeMessage)

send

public void send(MimeMessage[] mimeMessages)
          throws MailException
インタフェース SendMail の記述:
指定されたMimeMessageを送信します。

定義:
インタフェース SendMail 内の send
パラメータ:
mimeMessages -
例外:
MailException - メール送信に失敗した場合
関連項目:
SendMail.send(javax.mail.internet.MimeMessage[])

getCharset

public String getCharset()
エンコーディングに使用する文字コードを返します。

戻り値:
エンコーディングに使用する文字コード

setCharset

public void setCharset(String charset)
メールの件名や本文のエンコーディングに使用する文字コードを指定します。 デフォルトは ISO-2022-JP です。

パラメータ:
charset - エンコーディングに使用する文字コード

getHost

public String getHost()
セットされたSMTPサーバのホスト名、またはIPアドレスを返します。

戻り値:
SMTPサーバのホスト名、またはIPアドレス

setHost

public void setHost(String host)
SMTPサーバのホスト名、またはIPアドレスをセットします。 デフォルトは localhost です。

パラメータ:
host - SMTPサーバのホスト名、またはIPアドレス

getPassword

public String getPassword()
戻り値:
SMTPサーバ認証パスワード

setPassword

public void setPassword(String password)
SMTPサーバの接続認証が必要な場合にパスワードをセットします。

パラメータ:
password - SMTPサーバ認証パスワード

getPort

public int getPort()
戻り値:
SMTPサーバのポート番号

setPort

public void setPort(int port)
SMTPサーバのポート番号をセットします。

パラメータ:
port - SMTPサーバのポート番号

getProtocol

public String getProtocol()
戻り値:
Returns the protocol.

setProtocol

public void setProtocol(String protocol)
パラメータ:
protocol - The protocol to set.

getReturnPath

public String getReturnPath()
戻り値:
Return-Pathアドレス

setReturnPath

public void setReturnPath(String returnPath)
Return-Pathアドレスをセットします。

パラメータ:
returnPath - Return-Pathアドレス

getUsername

public String getUsername()
戻り値:
SMTPサーバ認証ユーザ名

setUsername

public void setUsername(String username)
SMTPサーバの接続認証が必要な場合にユーザ名をセットします。

パラメータ:
username - SMTPサーバ認証ユーザ名


Copyright © 2004 OZACC. All Rights Reserved.