メールコネクタを使用したメールの送信

メールコネクタでは、SMTP および SMTPS 経由でのメッセージの送信ができます。

コネクタの設定

サーバに保存されているメールのリストを作成するには、個別の設定種別を使用できます。

  • SMTP

  • SMTPS (TLS により保護)

SMTP 設定種別

SMTP 設定の例を次に示します。

SMTP 設定
<email:smtp-config name="smtp">
    <email:stmp-connection host="smtp.gmail.com" port="995" user="pablo.musumeci@mulesoft.com" password="#netherlands!"/>
</email:smtp-config>

セキュアな設定種別

SMTPS 接続種別では、TLS コンテキストを入力できる TLS 設定項目が提供されます。この設定では、SSL/TLS 暗号化を有効にして、セキュアな SMTP プロトコルバージョン (SMTPS) 経由で暗号化メッセージを送信します。

SMTPS の例を次に示します。

TLS を使用した SMTP 設定
<email:smtp-config name="smtp">
    <email:stmps-connection host="pop.gmail.com" port="995" user="pablo.musumeci@mulesoft.com" password="#netherlands!"/>
        <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="musumeci@mulesoft.com">
    <email:to-addresses>
        <email:to-address value="ale.gamarra@mulesoft.com"/>
        <email:to-address value="agustin.celentandios@mulesoft.com"/>
    </email:to-addresses>
    <email:body contentType="text/html">
        <email:content>"<h1>Hello this is an important message</h1>"</email:content>
    </email:body>
</email:send>

上の例では、送信メールの主受信者アドレスが to-addresses に含まれます。fromAddress 属性はメールの送信者アドレス、subject はメールの件名です。

bodycontent テキストと、コンテンツの MIME タイプ (text/xmltext/plain など) を特定する contentType で構成されます。body を指定しない場合、デフォルトでメッセージペイロードのコンテンツが使用されます。このペイロードが text でない場合、操作は EMAIL:SEND エラーで失敗します。

添付ファイルの送信

SMTP 経由で添付ファイルを送信する場合、DataWeave を使用して添付ファイルを処理する必要があります。

この例のフローでは、ファイルコネクタを使用して JSON ファイルを読み取った後、メールコネクタを使用してファイルの内容を添付ファイルとして SMTP 経由で送信します。

<flow name="attachment">
  <file:read path="/file.json"/>
  <email:send config-ref="config">
      <email:to-addresses>
          <email:to-address value="agusto.celentandios@mulesoft.com"/>
      </email:to-addresses>
      <email:body>
          <email:content>Sending attachments!</email:content>
      </email:body>
      <email:attachments>
        #[{
          'json-attachment' : payload
        }]
      </email:attachments>
  </email:send>
</flow>

このように、email:attachments では、各要素が添付ファイルになっている DataWeave 式が期待されます。たとえば、上の例では、json-attachment という名前の新しい添付ファイルが追加されます。payload は、ファイルコネクタにより読み取られた JSON ファイルの内容です。

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub