POP3トランスポート・プロバイダはPOP3メールボックスからメッセージを受信したり、javax.mail apiを利用してSSL (POP3s)でPOP3メールボックスに接続します。
このプロバイダのJavadocはここにあります。
org.mule.providers.email.Pop3Connector。
POP3コネクタ・プロパティ
| プロパティ |
説明 |
デフォルト |
必須 |
| backupFolder |
開いたメールをバックアップするファイル・システム・フォルダ。監査が必要な場合に利用。 |
|
× |
| checkFrequency |
新着メッセージを確認する間隔(ミリ秒)。 |
60000 |
○ |
| authenticator |
メールセッションを設定する場合に使います。ESB Muleはデフォルトでは、POP3エンドポイントにユーザ認証情報が設定されている場合は、認証を行うのにデフォルトのAuthenticatorを生成します(以下を参照)。必要であれば、authenticatorをカスタマイズすることもできます。authenticatorは javax.mail.Authenticator を実装する必要があります。 |
|
× |
| deleteReadMessages |
開いたメッセージを削除するか。削除されない場合は SEEN と印を付ける。メール・サーバによって動作がことなり、メール・サーバによってはメッセージを SEEN と設定しても特に変わらない。 |
true |
× |
 | サーバ認証
ホスト、ポート、ユーザ認証はpop3://エンドポイントに指定します。ポートが指定されていない場合はデフォルト・ポートが使われます。 |
POP3sコネクタ・プロパティ
POP3コネクタは javax.mail APIを使ってSSL上でのPOP3をサポートします。POP3コネクタの全てのプロパティをサポートする他にSSL接続用に以下のプロパティもサポートします。
| プロパティ |
説明 |
デフォルト |
必須 |
| socketFactory |
利用するSSLソケット・ファクトリ。 |
javax.net.ssl.SSLSocketFactory |
× |
| socketFactoryFallback |
fallbackを有効にするか。 |
false |
× |
| trustStore |
trust storeファイルの場所。 |
|
× |
| trustStorePassword |
trust storeのパスワード。 |
|
× |
POP3コネクタはデフォルトでポート995を利用します。
Pop3(s)エンドポイント
POP3エンドポイントは、POP3メールボックスに接続ための詳細情報をもちます。POP3のURIは以下のように書きます:
POP3sも同じ形式です:
 | 特殊文字の利用
ユーザ名及びパスワードにURIの文字として利用が禁止されている文字が含まれている場合があります。この場合は、webブラウザで対応しているエスケープ文字を代わりに使ってください。
例: ユーザ名 user@mule の代わりに user%40mule を使ってください。 |
Google gmailに接続する場合はPOP3sを利用します:
上の設定は、 pop.gmail.com の muletestbox メールボックスに(デフォルトPOPsポートを利用して)パスワード 123456 を利用して接続して、30秒毎に新しいメールを確認します。
エンドポイントのプロパティ以外にプロパティを設定する場合は、URIのパラメータに設定します。ただし、設定を読みやすくするために、できる限りエンドポイントにプロパティを設定することを推奨します。
<endpoint address="pop3s://username:password@pop.mail.com">
<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="pop3s://username:password@pop.mail.com">
<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プロパティに追加されます。 |