Flex Gateway新着情報
Governance新着情報
Monitoring API Managerメール用 Anypoint Connector (Email Connector) には、フローの任意の部分からメールのリストを作成する List - IMAP および List - POP3 操作が用意されています。次の例は、コネクタでこれらの操作を設定する方法を示しています。
IMAPS サーバーからのメールのリスト作成
TLS 接続を持つ IMAPS サーバーから設定済みの IMAP メールボックスフォルダーにあるすべてのメールのリストを作成するように List - IMAP 操作を設定します。また、For Each スコープコンポーネントと 2 つの Set Variable コンポーネントを設定し、メールを反復処理してメールの本文と添付ファイルのコンテンツを変数に保存します。
POP3 サーバーからのメールのリスト作成
[Match with (一致条件)] パラメーターに指定された条件に一致した設定済みの POP3 メールボックスフォルダーにあるすべてのメールのリストを作成するように List - POP3 操作を設定します。
これらの例では、一部の項目値に変数を使用しています。次のいずれかを実行できます。
コード内で変数を値に置き換える。
プロパティファイルで各変数の値を指定しておき、コネクタ設定からそのファイルを参照する。
プロパティファイルの使用方法についての詳細は、「プロパティプレースホルダーの設定」を参照してください。
次の例は、TLS 接続を持つ IMAPS サーバーから設定済みの IMAP メールボックスフォルダーにあるすべてのメールのリストを作成する方法を示しています。Scheduler コンポーネントでフローを開始し、次に List - IMAP 操作でメールのリストを作成します。その後、For Each スコープコンポーネントと 2 つの Set Variable コンポーネントでメールを反復処理し、メールの本文と添付ファイルのコンテンツペイロードを変数に保存します。
次のスクリーンショットは、この例のアプリケーションフローを示しています。
フローを作成する手順は、次のとおりです。
Studio で新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューで、[Scheduler] コンポーネントを選択してキャンバスにドラッグします。
このソースは、時間ベースの条件が満たされたときにフローを開始します。
[List - IMAP] 操作を [Scheduler] ソースの右にドラッグします。
[List - IMAP] 設定画面で、[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックして、操作のグローバル要素を設定します。
[Connection (接続)] で [IMAPS Connection (IMAPS 接続)] を選択します。
[General (一般)] タブで、次の値を入力します。
Host (ホスト) imap.gmail.com
Port (ポート) 993
User (ユーザー) user1@domain.com
Password (パスワード) passwordconnection
[TLS Configuration (TLS 設定)] セクションで、[Edit inline (インライン編集)] を選択します。
[Trust Store Configuration (トラストストア設定)] セクションで、次の値を入力します。
Path (パス) aTruststore.jks
Password (パスワード) passwordtrust
[Key Store Configuration (キーストア設定)] セクションで、次の値を入力します。
Path (パス) aKeystore
Password (パスワード) passwordkey
[Advanced (詳細)] セクションで、[Enabled Protocols (有効化されたプロトコル)] を TLSv1.2,SSLv3
に設定します。
[OK] をクリックします。
[List - IMAP] 設定画面で、[Mailbox folder (メールボックスフォルダー)] 項目を INBOX
に設定します。
[For each] スコープコンポーネントを [List - IMAP] 操作の右にドラッグします。
[Set Variable] コンポーネントを [For Each] スコープコンポーネントの内部にドラッグします。
[Name (名前)] を email-content
に、[Value (値)] を payload.body
に設定します。
このコンポーネントでメールの本文コンテンツを新しい変数に保存します。
別の [Set Variable] コンポーネントを最初の [Set Variable] コンポーネントの右にドラッグします。
[Name (名前)] を json-attachment
に、[Value (値)] を #[payload.attachments.'attachment-name']
に設定します。
このコンポーネントでメールの .json
添付ファイルを新しい変数に保存します。
アプリケーションを保存して実行します。
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:tls="http://www.mulesoft.org/schema/mule/tls" xmlns:email="http://www.mulesoft.org/schema/mule/email"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/email http://www.mulesoft.org/schema/mule/email/current/mule-email.xsd
http://www.mulesoft.org/schema/mule/tls http://www.mulesoft.org/schema/mule/tls/current/mule-tls.xsd">
<email:imap-config name="Email_IMAP" doc:name="Email IMAP" doc:id="e1aa73b1-4719-4463-b0d9-4b92fb6b2622" >
<email:imaps-connection host="imap.gmail.com" user="user1@domain.com" password="passwordconnection" >
<tls:context enabledProtocols="TLSv1.2,SSLv3">
<tls:trust-store path="aTruststore.jks" password="passwordtrust" />
<tls:key-store path="aKeystore" password="passwordkey" />
</tls:context>
</email:imaps-connection>
</email:imap-config>
<flow name="ListIMAP" >
<scheduler doc:name="Scheduler" >
<scheduling-strategy >
<fixed-frequency />
</scheduling-strategy>
</scheduler>
<email:list-imap doc:name="List - IMAP" config-ref="Email_IMAP"/>
<foreach doc:name="For Each" >
<set-variable value="#[payload.body]" doc:name="Set Variable" variableName="email-content"/>
<set-variable value="#[payload.attachments.'attachment-name']" doc:name="Set Variable" variableName="json-attachment"/>
</foreach>
</flow>
</mule>
[Pagination offset (ページネーションオフセット)] 項目を使用すると、List - IMAP 操作の特定のページ内でページネーションオフセットを設定し、特定のレコード (またはレコードのサブセット) を取得できます。
Studio で、フローから [List - IMAP] 操作を選択します。
[Connector configuration (コネクタ設定)] を Email_IMAP_outlook に設定します。
[Page size (ページサイズ)] を 10
に設定します。
[Pagination offset (ページネーションオフセット)] を 2
に設定します。
設定 XML エディターでは、paginationOffset
設定は次のように記述されます。
<email:list-imap doc:name="List - IMAP"
config-ref="Email_IMAP"
pageSize="10"
paginationOffset="2"
/>
メールのリストを作成する場合、メールを処理するための条件を定義する [Match with (一致条件)] パラメーターを使用してメールを絞り込むことができます。すべてのマッチャー属性が省略可能です。また、AND
演算子の下で相互に関連します。つまり、すべての条件が true である必要があります。これらの属性は、使用している設定の種別によって異なります。たとえば、IMAP プロトコルでは、recent
、seen
、deleted
、answered
属性フラグなど、取得したメールに関するより多くのメタデータが提供されます。
次の例は、設定の [Match with (一致条件)] パラメーターに指定された条件セットに一致する設定済みの POP3 メールボックスフォルダーにあるすべてのメールのリストを作成する方法を示しています。Scheduler コンポーネントでフローを開始し、次に List - POP3 操作で、件名正規表現が BETA
に一致するメールのみのリストを作成します。
次のスクリーンショットは、この例のアプリケーションフローを示しています。
フローを作成する手順は、次のとおりです。
Studio で新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューで、[Scheduler] コンポーネントを選択してキャンバスにドラッグします。
このソースは、時間ベースの条件が満たされたときにフローを開始します。
[List - POP3] 操作を [Scheduler] ソースの右にドラッグします。
[List - POP3] 設定画面で、[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックして、操作のグローバル要素を設定します。
[Connection (接続)] で [POP3 Connection (POP3 接続)] を選択します。
[General (一般)] タブで、次の値を入力します。
Host (ホスト) pop.gmail.com
Port (ポート) 995
User (ユーザー) user2@domain.com
Password (パスワード) passwordconnection
[OK] をクリックします。
[List - POP3] 設定画面で、[Mailbox folder (メールボックスフォルダー)] 項目を INBOX
に設定します。
[Match with (一致条件)] を Edit inline
に設定します。
[Subject regex (件名正規表現)] を BETA.
に設定します。
アプリケーションを保存して実行します。
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:tls="http://www.mulesoft.org/schema/mule/tls" xmlns:email="http://www.mulesoft.org/schema/mule/email"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/email http://www.mulesoft.org/schema/mule/email/current/mule-email.xsd
http://www.mulesoft.org/schema/mule/tls http://www.mulesoft.org/schema/mule/tls/current/mule-tls.xsd">
<email:pop3-config name="Email_POP3" doc:name="Email POP3" >
<email:pop3-connection host="pop.gmail.com" port="995" user="user2@domain.com" password="passwordconnection" />
</email:pop3-config>
<flow name="ListPOP3" >
<scheduler doc:name="Scheduler">
<scheduling-strategy >
<fixed-frequency />
</scheduling-strategy>
</scheduler>
<email:list-pop3 doc:name="List - POP3" config-ref="Email_POP3">
<email:pop3-matcher subjectRegex="BETA" />
</email:list-pop3>
</flow>
</mule>
[Pagination offset (ページネーションオフセット)] 項目を使用すると、List - POP3 操作の特定のページ内でページネーションオフセットを設定し、特定のレコード (またはレコードのサブセット) を取得できます。
Studio で、フローから [List - POP3] 操作を選択します。
[Connector configuration (コネクタ設定)] を Email_POP3 に設定します。
[Page size (ページサイズ)] を 10
に設定します。
[Pagination offset (ページネーションオフセット)] を 2
に設定します。
設定 XML エディターでは、paginationOffset
設定は次のように記述されます。
<email:list-pop3 doc:name="List - POP3"
config-ref="Email_POP3"
pageSize="10"
paginationOffset="2"
/>