Skip navigation

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の文法は以下の通りです:

imap://<ユーザ名:パスワード>@<IMAPサーバ>[:ポート]/<メール・フォルダ>[?パラメータ]

IMAPsも同じ文法です:

imaps://<ユーザ名:パスワード>@<IMAPサーバ>[:ポート]/<メール・フォルダ>[?パラメータ]
特殊文字の利用

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

例:

imaps://joe:123456@imap.mycompany.com/mail?checkFrequency=30000

上の設定は 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プロパティに追加されます。  
Adaptavist Theme Builder Powered by Atlassian Confluence