IMAPトランスポート・プロバイダは、IMAPメールボックスからメッセージを受信することやIMAPメールボックスに javax.mail APIを使ってSSL(IMAPs)で接続します。
このプロバイダのJavadocはここにあります。
org.mule.providers.email.ImapConnector。
IMAPコネクタ・プロパティ
| プロパティ |
説明 |
デフォルト |
必須 |
| mailboxFolder |
接続するリモート・メールボックス。 |
INBOX |
○ |
| backupEnabled |
backupFolderにメッセージを複写する。 |
No |
× |
| backupFolder |
読んだメールをバックアックするファイルシステムのフォルダ。監査の場合に利用。 |
<Mule's workdir>/mail/<folder> |
× |
| checkFrequency |
新規メッセージがあるかPOP3メールボックスをポールする間隔。(ミリ秒) |
60000 |
○ |
| authenticator |
メールセッションを設定する場合に使います。ESB Muleはデフォルトでは、POP3エンドポイントにユーザ認証情報が設定されている場合は、認証を行うのにデフォルトのAuthenticatorを生成します(以下を参照)。必要であれば、authenticatorをカスタマイズすることもできます。authenticatorは javax.mail.Authenticator を実装する必要があります。 |
|
No |
| deleteReadMessages |
開いたメッセージを削除するか。削除されない場合は SEEN と印を付ける。メール・サーバによって動作がことなり、メール・サーバによってはメッセージを SEEN と設定しても特に変わらない。 |
true |
× |
 | サーバ認証
ホスト名, ポート, ユーザ認証はimap://エンドポイントに設定します。ポートで指定されていない場合は、デフォルト・ポートが利用されます。 |
IMAPSコネクタ・プロパティ
IMAPsコネクタは javax.mail APIを使ってSSL上でのIMAPをサポートします。IMAPコネクタの全てのプロパティをサポートする他にSSL接続用に以下のプロパティもサポートします。
| プロパティ |
説明 |
デフォルト |
必須 |
| socketFactory |
利用するSSLソケット・ファクトリ。 |
javax.net.ssl.SSLSocketFactory |
× |
| socketFactoryFallback |
フォールバックするか。 |
false |
× |
| trustStore |
トラスト・ストアのファイルの場所。 |
|
× |
| trustStorePassword |
トラスト・ストアのパスワード。 |
|
× |
IMAPsコネクタはデフォルトとしてポート993を利用します。
IMAP(s)エンドポイント
IMAPエンドポイントにはIMAPメールボックスに接続する情報を設定します。IMAP URIの文法は以下の通りです:
IMAPsも同じ文法です:
 | 特殊文字の利用
ユーザ名及びパスワードにURIの文字として利用が禁止されている文字が含まれている場合があります。この場合は、webブラウザで対応しているエスケープ文字を代わりに使ってください。
例: ユーザ名 user@mule の代わりに user%40mule を使ってください。 |
例:
上の設定は imap.mycompany.com サーバにユーザ名 joe 、パスワード 123456 で(デフォルトをIMAPsを利用して)ログインして、 mail フォルダを開きます。30秒毎に新規メールを確認します。
エンドポイントにその他のプロパティを設定する場合は、URIのパラメータに設定することもできますが、読みやすくするためにエンドポイントのプロパティとして設定することを推奨します。
<endpoint address="imaps://ユーザ名:パスワード@imap.mail.com/mail">
<properties>
<property name="checkFrequency" value="120000"/>
<property name="trustStore" value="./trustore"/>
<property name="trustStorePassword" value="trustNoOne"/>
</properties>
</endpoint>
フィルタ
不要なメッセージを排除するために、エンドポイントにフィルタを設定することができます。Mailトランスポート・プロバイダは複数のEmailファルタを用意しています。それらを直接利用することも、継承してカスタム・フィルタ・ルールを定義することもできます。
| フィルタ |
説明 |
| org.mule.providers.email.filters. AbstractMailFilter |
基となるフィルタの実装。全てのメール・フィルタはこのクラスを実装します。 |
| org.mule.providers.email.filters. MailSubjectRegExFilter |
件名を正規表現に従ってフィルタします。 |
フィルタの設定
下の例は件名が [mule] で始まるメールのみを受信します:
<endpoint address="imaps://username:password@imap.mail.com/lists">
<filter className="org.mule.providers.email.filters.MailSubjectRegExFilter"
pattern="\\[mule\\](.*)"/>
<properties>
<property name="checkFrequency" value="120000"/>
<property name="trustStore" value="./trustore"/>
<property name="trustStorePassword" value="trustNoOne"/>
</properties>
</endpoint>
トランスフォーマー
javax.mail.Message をESB Muleイベント・ペイロードに変換するのを便利にするために、Emailトランスポートには複数のトランスフォーマーが用意されています。トランスフォーマーはメッセージの本文とプロパティ(ヘッダを含む)を抽出し、添付ファイルも処理します。カスタム・トランスフォーマーを作成する場合は全て新規に開発せず、これらの既存トランスフォーマーを継承することを推奨します。
| トランスフォーマー |
説明 |
| org.mule.providers.email.transformers. EmailMessageToString |
javax.mail.Message をStringメッセージ・ペイロードに変換します。このトランスフォーマーは添付ファイルに対応していません。代わりにMimeMessageToObjectトランスフォーマーを利用することを推奨します。 |
| Converting a MimeMessage to a UMOMessage |
POP3のMessageAdapterはMimeMessageをUMOMessageに分割します。最初の本文はペイロードとして扱い、その他は添付として扱います。MimeMessageヘッダはUMOMessageプロパティに追加されます。 |
|