Skip navigation

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は以下のように記述します:

smtp://[ユーザ名:パスワード@]<SMTPサーバ>[:ポート]?address=<宛先>

SMTPsの場合も同じです:

smtps://[ユーザ名:パスワード@]<SMTPサーバ>[:ポート]?address=<宛先>
特殊文字の利用

ユーザ名及びパスワードにURIの文字として利用が禁止されている文字が含まれている場合があります。この場合は、webブラウザで対応しているエスケープ文字を代わりに使ってください。
例: ユーザ名 user@mule の代わりに user%40mule を使ってください。

例:

smtp://muletestbox:123456@smtp.mail.yahoo.co.uk?address=dave@mycomany.com

上の例は、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_ に変換する。添付に対応。
Adaptavist Theme Builder Powered by Atlassian Confluence