Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerEmail Connector では、フローの任意の部分からメールのリストを作成できます。この機能は、Mule 3 のトランスポートからの変更点です。Mule 3 のトランスポートでは、インバウンドエンドポイントポーリングの結果としてのみメールを取得できました。
POP3 と IMAP の両方の設定に list 操作が含まれます。これらの設定間には違いがありますが、特に指定のない限り、list-pop3 または list-imap を使用する例は両方の設定に適用されます。
サーバーに保存されているメールのリストを作成するための 2 つの設定があります。
POP3 設定
IMAP 設定
この両方の設定で、接続の確立に必要なパラメーターセット (サーバーの host と port、および保護されたメールサーバーに接続するための username と password) が共有されます。ただし、ユーザー名とパスワードで保護されていないサーバーがあるため、username と password パラメーターは省略可能です。
POP3 および IMAP 設定の例を次に示します。
<email:pop3-config name="pop3-config">
<email:pop3-connection host="pop.gmail.com" port="995" user="<username>@<emailaddress>" password="<password>"/>
</email:pop3-config>
<email:imap-config name="imap-config">
<email:imap-connection host="imap.gmail.com" port="912" user="<username>@<emailaddress>" password="<password>"/>
</email:imap-config>
これらの例は似ています。違いについては、「Email Connector テクニカルリファレンス」の「設定」セクションを参照してください。
IMAP および POP3 設定では、セキュアなバージョンの POP3S および IMAPS プロトコルによるセキュアな接続が可能です。これらの接続を使用すると、SSL と TLS 両方の暗号化を可能にする TLS コンテキストを設定できます。
IMAPS の例を次に示します。
<email:imap-config name="tls">
<email:imaps-connection host="${port}" port="${port}">
<tls:context enabledProtocols="TLSv1.2,SSLv3">
<tls:key-store path="aKeystore" password="password"/>
<tls:trust-store path="aTruststore.jks" password="changeit"/>
</tls:context>
</email:imaps-connection>
</email:imap-config>
TLS コンテキストは POP3S 接続でも使用できます。
List 操作では、パラメーター化されたメールボックスフォルダーに存在する設定済みメールボックスサーバー内のすべてのメールが返されます。
メールボックス内のメールのリストを作成するための基本構文を以下に示します。
<email:list-pop3 config-ref="pop3-config" mailboxFolder="INBOX"/>
<email:list-imap config-ref="imap-config" mailboxFolder="INBOX"/>
前の例は、設定されたメールボックスサーバーの INBOX フォルダーにあるすべてのメールを返します。
config-ref 属性は、設定の例で宣言されている設定を参照しています。
受信メールでは、メール本文とすべての添付ファイルを含むメールの内容がペイロード内で保持されています。次の例では、取得したすべてのメールを反復処理します。
<flow name="retrieveWithAttachments">
...
<email:list-imap config-ref="imap-config"/>
<foreach>
<set-variable variableName="email-content" value="payload.body" />
<set-variable variableName="json-attachment" value="payload.attachments.json" />
</foreach>
</flow>
ペイロード内の 1 つのメールを操作する場合、payload.body を使用してメールの内容にアクセスします。上の例では、本文を email-content という変数に設定します。
メールの添付ファイルにアクセスするには、payload.attachments.{nameOfTheAttachment} を使用できます。上の例では、取得したメールで保持されている json という添付ファイルを新しい変数 json-attachment 内に設定します。
メールのリストを作成する場合、メールの内容だけでなくメールのメタデータ (件名、送信元アドレス、宛先アドレス、受信日など) にも関心があることがあります。これらの属性は、使用している設定の種別によって異なります。たとえば、IMAP プロトコルでは、recent、seen、deleted、answered フラグなど、取得したメールに関するより多くのメタデータが提供されます。
Email Connector は Mule メッセージ属性を使用してこの情報にアクセスします。一方、メッセージのペイロードには常にメールの内容が含まれます。
メール属性の構造についての詳細は、メールモジュールドキュメントリファレンスを参照してください。
メールのリストを作成する場合、<email:pop3-matcher> および <email:imap-matcher> 要素を使用して絞り込むことができます。これらの要素では、メールを処理するために使用できる条件を定義します。
次の IMAP マッチャーの例では、[0-9] 正規表現に一致せず、まだ参照されていない件名を持つメールが却下されます。
<email:list-imap config-ref="config">
<email:imap-matcher subjectRegex="[0-9]" seen="EXCLUDE"/>
</email:list-imap>
すべてのマッチャー属性は省略可能であり、提供されていない場合は無視できます。また、AND 演算子の下で相互に関連します。つまり、すべての条件が true である必要があります。
前の例では特定のコンポーネント専用の再利用できない内部のマッチャーを宣言しています。ただし、マッチャーは次の pop3-matcher のように再利用可能な要素として (名前付きの最上位要素として) 宣言できます。
<email:pop3-matcher name="pop3Matcher"
subjectRegex="Email Subject"
fromRegex="@mulesoft"/>
<flow name="listEmails">
...
<file:list pop3-matcher="pop3Matcher" />
...
</flow>
IMAP プロトコルでは、POP3 よりも詳細な絞り込みを可能にする、メールに関するメタデータが提供されます。
POP3 マッチャーには次のパラメーターが含まれます。
<email:pop3-matcher
receivedSince="2015-06-03T13:21:58+00:00"
receivedUntil="2015-07-03T13:21:58+00:00"
sentSince="2015-05-03T13:21:58+00:00"
sentUntil="2015-06-03T13:21:58+00:00"
subjectRegex="BETA:"
fromRegex="@mulesoft"/>
IMAP マッチャーは次のようになります。
<email:imap-matcher
receivedSince="2015-06-03T13:21:58+00:00"
receivedUntil="2015-07-03T13:21:58+00:00"
sentSince="2015-05-03T13:21:58+00:00"
sentUntil="2015-06-03T13:21:58+00:00"
subjectRegex="BETA:"
fromRegex="@mulesoft"
recent="EXCLUDE|INCLUDE|REQUIRE"
seen="EXCLUDE|INCLUDE|REQUIRE"
deleted="EXCLUDE|INCLUDE|REQUIRE"
answered="EXCLUDE|INCLUDE|REQUIRE"/>
IMAP マッチャーには recent、seen、deleted、answered パラメーターが含まれます。
Email Connector には、添付ファイルの命名戦略を指定できる List および On New Email 操作用のパラメーターがあります。このパラメーターは設定レベルで定義されますが、操作レベルで上書きできます。
詳細と例は、「添付ファイルの命名戦略」を参照してください。