Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerEmail Connector では、SMTP および SMTPS 経由でのメッセージの送信ができます。
サーバーに保存されているメールのリストを作成するには、個別の設定種別を使用できます。
SMTP
SMTPS (TLS により保護)
SMTP 設定の例を次に示します。
<email:smtp-config name="smtp">
<email:smtp-connection host="smtp.gmail.com" port="995" user="user1@domain.com" password="#passwordvalue!"/>
</email:smtp-config>
SMTPS 接続種別では、TLS コンテキストを入力できる TLS 設定項目が提供されます。この設定では、SSL/TLS 暗号化を有効にして、セキュアな SMTP プロトコルバージョン (SMTPS) 経由で暗号化メッセージを送信します。
SMTPS の例を次に示します。
<email:smtp-config name="smtp">
<email:smtps-connection host="pop.gmail.com" port="995" user="user2@domain.com" password="#passwordvalue"/>
<tls:context enabledProtocols="TLSv1.2,SSLv3">
<tls:key-store path="aKeystore" password="password"/>
<tls:trust-store path="aTruststore.jks" password="changeit"/>
</tls:context>
</email:smtps-connection>
</email:smtp-config>
メールを送信する例を次に示します。
<email:send config-ref="smtp" subject="IMPORTANT!" fromAddress="user3@domain.com">
<email:to-addresses>
<email:to-address value="user1@domain.com"/>
<email:to-address value="user2@domain.com"/>
</email:to-addresses>
<email:body contentType="text/html">
<email:content><![CDATA["<h1>Hello this is an important message</h1>"]]></email:content>
</email:body>
</email:send>
上の例では、送信メールの主受信者アドレスが to-addresses に含まれます。fromAddress 属性はメールの送信者アドレス、subject はメールの件名です。
body は content テキストと、コンテンツの MIME タイプ (text/xml、text/plain など) を特定する contentType で構成されます。body を指定しない場合、デフォルトでメッセージペイロードのコンテンツが使用されます。このペイロードが text でない場合、操作は EMAIL:SEND エラーで失敗します。
SMTP 経由で添付ファイルを送信する場合、DataWeave を使用して添付ファイルを処理する必要があります。
この例のフローでは、File Connector を使用して JSON ファイルを読み取った後、Email Connector を使用してファイルのコンテンツを添付ファイルとして SMTP 経由で送信します。
<flow name="attachment">
<file:read path="/file.json"/>
<email:send config-ref="config">
<email:to-addresses>
<email:to-address value="example@domain.com"/>
</email:to-addresses>
<email:body>
<email:content><![CDATA["<h1>Hello this is an important message</h1>"]]></email:content>
</email:body>
<email:attachments>
#[{
'json-attachment' : payload
}]
</email:attachments>
</email:send>
</flow>
このように、email:attachments では、各要素が添付ファイルになっている DataWeave 式が期待されます。たとえば、上の例では、json-attachment という名前の新しい添付ファイルが追加されます。payload は、File Connector により読み取られた JSON ファイルのコンテンツです。
メディア種別が異なる複数の添付ファイルを送信できます。たとえば、JSON 要素の後にテキスト要素を送信し、さらにファイルも送信できます。これを行うには、次のようにそれらを添付ファイル要素に追加します。
</flow>
<set-variable variableName="json" value="#[output application/json --- {address: '221B Baker Street'}]" mimeType="application/json"/>
<set-variable variableName="textPlain" value="This is the email text attachment for John Watson" mimeType="text/plain"/>
<set-variable variableName="octetStream" value="#[vars.textPlain]" mimeType="application/octet-stream"/>
<email:send config-ref="config">
<email:to-addresses>
<email:to-address value="user4@domain.com"/>
</email:to-addresses>
<email:body contentType="text/plain">
<email:content>Email Content</email:content>
</email:body>
<email:attachments>#[
{
'text-attachment' : vars.textPlain,
'json-attachment' : vars.json,
'stream-attachment' : vars.octetStream
}]
</email:attachments>
</email:send>
<logger level="INFO" doc:name="Logger" message="#['Message Id ' ++ correlationId as String]" />
</flow>
各添付ファイルには、以前に設定された独自のメディア種別が含まれています。
Send 操作は、SMTP サーバーへのメールの送信に使用されるすべての情報 (要求パス、ヘッダーなど) を含むメッセージ属性セクションに HttpRequestAttributes オブジェクトがあるメッセージを返します。Send 操作が実行される直前に設定されたペイロードも、操作の出力ペイロードになります。