Email Connector を使用したメールのリスト作成の例

メール用 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​ 操作を設定します。

これらの例では、一部の項目値に変数を使用しています。次のいずれかを実行できます。

  • コード内で変数を値に置き換える。

  • プロパティファイルで各変数の値を指定しておき、コネクタ設定からそのファイルを参照する。
    プロパティファイルの使い方が分からない場合は、​「プロパティプレースホルダーの設定」​を参照してください。

IMAPS サーバーからのメールのリスト作成

次の例は、TLS 接続を持つ IMAPS サーバーから設定済みの IMAP メールボックスフォルダーにあるすべてのメールのリストを作成する方法を示しています。​Scheduler​ コンポーネントでフローを開始し、次に ​List - IMAP​ 操作でメールのリストを作成します。その後、​For Each​ スコープコンポーネントと 2 つの ​Set Variable​ コンポーネントでメールを反復処理し、メールの本文と添付ファイルのコンテンツペイロードを変数に保存します。

次のスクリーンショットは、この例のアプリケーションフローを示しています。

IMAPS サーバーからのメールのリスト作成のフロー
Figure 1. IMAPS サーバーからのメールのリスト作成のフロー

フローを作成する手順は、次のとおりです。

  1. Studio で新しい Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)]​ ビューで、​[Scheduler]​ コンポーネントを選択してキャンバスにドラッグします。
    このソースは、時間ベースの条件が満たされたときにフローを開始します。

  3. [List - IMAP]​ 操作を ​[Scheduler]​ ソースの右にドラッグします。

  4. [List - IMAP]​ 設定画面で、​[Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (​+​) をクリックして、操作のグローバル要素を設定します。

  5. [Connection (接続)]​ 項目で ​[IMAPS Connection (IMAPS 接続)]​ を選択します。

  6. [General (一般)]​ タブで、次の値を入力します。

    • Host (ホスト)
      imap.gmail.com

    • Port (ポート)
      993

    • User (ユーザー)
      user1@domain.com

    • Password (パスワード)
      passwordconnection

  7. [TLS Configuration (TLS 設定)]​ セクションで、​[Edit inline (インライン編集)]​ を選択します。

  8. [Trust Store Configuration (トラストストア設定)]​ セクションで、次の値を入力します。

    • Path (パス)
      aTruststore.jks

    • Password (パスワード)
      passwordtrust

  9. [Key Store Configuration (キーストア設定)]​ セクションで、次の値を入力します。

    • Path (パス)
      aKeystore

    • Password (パスワード)​ ​passwordkey

  10. [Advanced (詳細)]​ セクションで、​[Enabled Protocols (有効化されたプロトコル)]​ を ​TLSv1.2,SSLv3​ に設定します。

  11. [OK]​ をクリックして、設定ウィンドウを閉じます。

次のスクリーンショットは、IMAP のグローバル設定を示しています。

IMAPS 接続の設定
Figure 2. IMAPS 接続の設定
  1. [List - IMAP]​ 設定画面で、​[Mailbox folder (メールボックスフォルダー)]​ 項目を ​INBOX​ に設定します。

次のスクリーンショットは、​[List - IMAP]​ 設定画面を示しています。

List - IMAP の設定
Figure 3. List - IMAP の設定
  1. [For each]​ スコープコンポーネントを ​[List - IMAP]​ 操作の右にドラッグします。

  2. [Set Variable]​ コンポーネントを ​[For Each]​ スコープコンポーネントの内部にドラッグします。

  3. [Name (名前)]​ 項目を ​email-content​、​[Value (値)]​ 項目を ​payload.body​ に設定します。
    このコンポーネントでメールの本文コンテンツを新しい変数に保存します。

  4. 別の ​[Set Variable]​ コンポーネントを最初の ​[Set Variable]​ コンポーネントの右にドラッグします。

  5. [Name (名前)]​ 項目を ​json-attachment​、​[Value (値)]​ 項目を ​#[payload.attachments.'attachment-name']​ に設定します。
    このコンポーネントでメールの ​.json​ 添付ファイルを新しい変数に保存します。

  6. アプリケーションを保存して実行します。

IMAPS サーバーからメールのリストを作成するための XML

この例のフローをすばやく 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>

POP3 サーバーからのメールのリスト作成

メールのリストを作成する場合、メールを処理するための条件を定義する ​[Match with (一致条件)]​ パラメーターを使用してメールを絞り込むことができます。すべてのマッチャー属性が省略可能です。また、​AND​ 演算子の下で相互に関連します。つまり、すべての条件が true である必要があります。これらの属性は、使用している設定の種別によって異なります。たとえば、IMAP プロトコルでは、​recent​、​seen​、​deleted​、​answered​ 属性フラグなど、取得したメールに関するより多くのメタデータが提供されます。

次の例は、設定の ​[Match with (一致条件)]​ パラメーターに指定された条件セットに一致する設定済みの POP3 メールボックスフォルダーにあるすべてのメールのリストを作成する方法を示しています。​Scheduler​ コンポーネントでフローを開始し、次に ​List - POP3​ 操作で、件名正規表現が ​BETA​ に一致するメールのみのリストを作成します。

次のスクリーンショットは、この例のアプリケーションフローを示しています。

POP3 サーバーからのメールのリスト作成のフロー
Figure 4. POP3 サーバーからのメールのリスト作成のフロー

フローを作成する手順は、次のとおりです。

  1. Studio で新しい Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)]​ ビューで、​[Scheduler]​ コンポーネントを選択してキャンバスにドラッグします。
    このソースは、時間ベースの条件が満たされたときにフローを開始します。

  3. [List - POP3]​ 操作を ​[Scheduler]​ ソースの右にドラッグします。

  4. [List - POP3]​ 設定画面で、​[Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (​+​) をクリックして、操作のグローバル要素を設定します。

  5. [Connection (接続)]​ 項目で ​[POP3 Connection (POP3 接続)]​ を選択します。

  6. [General (一般)]​ タブで、次の値を入力します。

    • Host (ホスト)
      pop.gmail.com

    • Port (ポート)
      995

    • User (ユーザー)
      user2@domain.com

    • Password (パスワード)
      passwordconnection

  7. [OK]​ をクリックします。

次のスクリーンショットは、POP3 のグローバル設定を示しています。

POP3 接続の設定
Figure 5. POP3 接続の設定
  1. [List - POP3]​ 設定画面で、​[Mailbox folder (メールボックスフォルダー)]​ 項目を ​INBOX​ に設定します。

  2. [Match with (一致条件)]​ 項目を ​Edit inline​ に設定します。

  3. [Subject Regex (件名正規表現)]​ 項目を ​BETA.​ に設定します。

次のスクリーンショットは、​[List - POP3]​ 設定画面を示しています。

List - IMAP の設定
Figure 6. List - POP3 の設定
  1. アプリケーションを保存して実行します。

POP3 サーバーからメールのリストを作成するための XML

この例のフローをすばやく 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>