SMTPトランスポート・プロバイダは、 javax.mail APIを使ってメッセージをSMTP及びSMTPs(セキュア)で送信する場合に使うことができあmす。
CC/BCC/ReplyToアドレス, 添付, カスタム・ヘッダ, カスタム認証をサポートしています。なお、 javax.mail.Message 変換のサポートもあります。
このプロバイダのJavadocは
ここ
にあります。
org.mule.providers.email.SmtpConnector
org.mule.providers.email.SmtpsConnector
SMTPコネクタ・プロパティ
| プロパティ |
説明 |
デフォルト |
必須 |
| subject |
送信するメッセージに件名が設定されていない場合に使う、のデフォルトの件名。 |
(no subject) |
× |
| fromAddress |
送信するメッセージの差出人。 |
|
○ |
| ccAddresses |
Cc:で送るアドレス。複数の場合はコンマで区切る。 |
|
× |
| bccAddresses |
Bcc:で送るアドレス。複数の場合はコンマで区切る。 |
|
× |
| replyToAddresses |
このコネクタから送信されたメールの返信アドレス。複数の場合はコンマで区切り。 |
|
× |
| customHeaders |
送信メッセージに設定するかカスタム・ヘッダ・プロパティのMap。ヘッダに実行時に解決するプロパティ変数を使うことが可能。例:${my.variable}。これらのプロパティはMuleManagerプロパティとイベント及びエンドポイントに設定されているプロパティを元に解決される。 |
|
× |
| authenticator |
認証付きのSMTPリクエストを送信する場合に利用。SMTPエンドポイントに認証情報が設定されている場合は、ESB MuleはデフォルトでデフォルトのAuthenticatorを生成して認証を行う(下を参照)。Authenticatorをカスタマイズする必要がある場合は、ここに設定する。Authenticatorは javax.mail.Authenticator を実装する必要がある。 |
|
× |
| contentType |
送信するメッセージのデフォルトMimeコンテンツ。 |
text/plain |
× |
 | サーバ認証
ホスト, ポート, ユーザ認証情報はsmtp://エンドポイントに設定します。コネクタに設定された他プロパティは、エンドポイントにそのプロパティが設定されていない場合にデフォルト値として利用されます。 |
SMTPsコネクタ・プロパティ
The Smtps Connector enables Smtp over SSL using the javax.mail APIs. It supports all the properties of the Smtp connector and has some additional properties for setting up an SSL connection.
| プロパティ |
説明 |
デフォルト |
必須 |
| socketFactory |
使うSSLソケット・ファクトリ。 |
javax.net.ssl.SSLSocketFactory |
× |
| socketFactoryFallback |
フォールバックを有効にするか。 |
false |
× |
| trustStore |
trustStoreファイルの場所。 |
|
× |
| trustStorePassword |
trustStoreのパスワード。 |
|
× |
SMTPsコネクタはデフォルト・ポートとして465を使います。
SMTP(s)エンドポイント
SMTPエンドポイントは、SMTPサーバとSTMPエンドポイントから送信されたメッセージの宛先を指定します。SMTP URIは以下のように記述します:
SMTPsの場合も同じです:
 | 特殊文字の利用
ユーザ名及びパスワードにURIの文字として利用が禁止されている文字が含まれている場合があります。この場合は、webブラウザで対応しているエスケープ文字を代わりに使ってください。
例: ユーザ名 user@mule の代わりに user%40mule を使ってください。 |
例:
上の例は、SMTPサーバsmtp.mail.yahoo.co.uk(デフォルトSMTPポートを使って)、宛先 dave@mycomany.com にメールを送ります。ユーザ名「muletestbox 」、パスワード「123456」を使ってSMTPサーバに接続をします。
件名 (subject)や 差出人 (fromAddress)も設定すると思います。これらもURIのパラメータに設定することができますが、保守のために読みやすくするために、エンドポイントのプロパティに設定することを推奨します。
<endpoint address="smtp://muletestbox:123456@smtp.mail.yahoo.co.uk?
address=dave@mycomany.com">
<properties>
<property name="fromAddress" value="steve@mycompany.com"/>
<property name="ccAddresses" value="john@mycompany.com,rex@foo.com"/>
<property name="subject" value="Please verify your ebay account details"/>
</properties>
</endpoint>
これまでは、全ての情報をエンドポイントに設定したたてめに値は静的でしたが、MuleMessageに以下のプロパティを利用して動的にSMTPメッセージを設定することもできます。これらのプロパティはエンドポイントのプロパティを上書きします。
| 定数 |
名前 |
説明 |
| MailProperties.TO_ADDRESSES_PROPERTY |
toAddresses |
コンマ区切りの宛先アドレス |
| MailProperties.CC_ADDRESSES_PROPERTY |
ccAddresses |
コンマ区切りのCCアドレス |
| MailProperties.BCC_ADDRESSES_PROPERTY |
bccAddresses |
コンマ区切りのBCCアドレス |
| MailProperties.REPLY_TO_ADDRESSES_PROPERTY |
replyToAddresses |
コンマ区切りのREPLY Toアドレス |
| MailProperties.FROM_ADDRESS_PROPERTY |
fromAddress |
1つのメールアドレス |
| MailProperties.SUBJECT_PROPERTY |
subject |
メールの件名 |
| MailProperties.CUSTOM_HEADERS_MAP_PROPERTY |
customHeaders |
Stringヘッダ・プロパティのMap |
| MailProperties.CONTENT_TYPE_PROPERTY |
contentType |
メッセージのMime content type |
宛先を必ず動的に設定する場合は、SMTPエンドポイントの address パラメータを省略することができます。
トランスフォーマー
EmailトランスポートはObject型のペイロードを javax.mail.Message に変換するためのトランスフォーマーを用意しています。トランスフォーマーは上に書かれたルールに従っている他に添付にも対応しています。カスタムのトランスフォーマーが必要な場合は、一から作成せず、これらを継承することを推奨します。
| トランスフォーマー |
説明 |
| org.mule.providers.email.transformers. StringToEmailMessage |
Stringのメッセージ・ペイロードを javax.mail.Message に変換。このトランスフォーマーは添付に対応していないために、ObjectToMimeMessageで置き換えられました。 |
| org.mule.providers.email.transformers. ObjectToMimeMessage |
Object型メッセージ・ペイロードを_javax.mail.Message_ に変換する。添付に対応。 |