Alteryx Designer からメールを送信する機能と特徴についてまとめてみた

2023.03.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Alteryx Designer におけるメール送信機能について調べてみました。本記事ではGoogle アカウント(Gmail)を使用しています。

前提条件

下記の環境で検証しています。

  • Windows 10 Pro
  • Alteryx Designer 2022.3.1

Alteryx Designer からのメール送信

Alteryx Designer の機能でメールを送信する方法として下記が存在します。

メール送信機能の比較

各機能の詳細は後述しますが、先に結論として、それぞれの主な特徴をまとめてると下記の通りとなります。

Eメール送信イベント Eメールツール
利用可能な認証方式
※ドキュメントに記載があるもの
SMTP認証 ・SMTP認証
・Oauth認証
- Azure OAuth
- Azure Oauth (Alteryx アプリケーション)
メール送信のタイミング 下記より選択
・ワークフローの実行前
・ワークフローの実行後
・エラーなくワークフローが実行された後
・エラーで実行したワークフローが実行した後
ワークフロー実行時に最後のツールとして実行される
複数の宛先への送信 ・可能
イベントの編集画面でコンマやセミコロンで区切り記述する
・可能
ツールの設定画面でコンマやセミコロンで区切り記述する。またはツールのインプットデータのフィールドから指定する
Bcc, Cc の使用 不可 可能
ファイル添付 ・可能
最大10 MBまで
・可能
最大10 MBまで
フィールド値の利用 不可 可能
宛先ごとに異なる内容の送信 不可 ・可能
フィールド値の利用が可能なので、宛先ごとに異なる本文や添付ファイルの指定ができる

上記以外の主要な特徴として、Eメールツールでは、レポーティングカテゴリのツールで作成したグラフや表をメール本文として送信できます。
Alteryxでグラフをメールで送信する | DevelopersIO
Alteryxの分析結果をメールで共有する | DevelopersIO

以上より、それぞれの用途として、下記が考えられます。

  • Eメール送信イベント
    • 対象
      • ワークフローの管理者向け
    • 用途
      • ワークフローの実行状況を把握する
  • Eメールツール
    • 対象
      • 送信元:集計処理担当者
      • 送信先:集計結果の利用者、共有先
    • 用途
      • Alteryxでの集計処理や分析結果の共有

以降で、各機能の設定について詳しくみていきます。

Gmail 利用時の SMTP 設定

本記事では Gmail を使用します。Alteryx を起点に Gmail を利用してメールを送信するにあたり、Gmail 側で事前に下記のいずれかの対応が必要です。

いずれも 「Google アカウントを管理 > セキュリティ」より設定可能です。詳細は上記のドキュメントを参照ください。
以降は、Google アカウントでこれらの設定をすませた前提のもと、それぞれのメール送信方法についてみていきます。

ワークフロー設定 Eメール送信イベント

ワークフロー設定のイベントタブでは、ワークフロー実行の特定のタイミングにあわせてメールを送信するイベントを定義できる機能があります。

設定画面

キャンバスのツール以外の部分をクリックし、ワークフローの設定を開きます。

「イベント」タブの「追加」より「メールを送信」を押下します。

するとメール送信イベントの編集画面が開きます。
設定項目は赤枠で囲った部分で、大きく3種類あります。設定を完了し、「OK」を押下することでイベントが作成されます。イベントは複数作成可能です。

設定項目
設定項目の詳細は下記の通りです。

1.イベント実行タイミング
ワークフロー設定でのEメール送信イベントは、特定のタイミングでのメール送信となります。具体的には、下記のタイミングを設定可能です。

タイミング 概要
実行前 ワークフローを実行する前にメールを送信します。
実行後 ワークフローの実行後にメールを送信します。
エラーで実行した後 エラーが発生した場合、ワークフローの実行後に、メールを送信します。
エラーなしで実行した後 エラーが発生しなかった場合、ワークフローの実行後に、メールを送信します。
無効 作成したイベントをオフにします。

2. 認証情報
後述するEメールツールでは、SMTP認証に加えて、一部の Oauth 認証を利用可能とドキュメントに記載がありますが、Eメールイベントでも利用可能かは明確な記載がないため、ここでは一般的な SMTP認証についてご紹介します。SMTP認証には、下記の情報が必要です。

  • SMTP
  • ポート
    通信方式の違いとして、使用するポート番号を指定します。

    • 25:暗号化なし
    • 465:SSL / TLS
    • 587:STARTTLS
  • 暗号化
    • ポート番号に応じた暗号化の方式を選択します。
      ※暗号化の方式を選択すると、自動的にポート番号が入力されます。

      • なし
      • SSL / TLS
      • STARTTLS
  • ユーザー名
    • メールアカウントのユーザー名です。
  • パスワード
    • メールアカウントのパスワードです。
    • Gmail において、アプリパスワードを使用する場合は、ここでアプリパスワードを入力します。
  • 認証
    • 認証が必要となるので、チェックを入れます。

認証情報は、イベントの編集画面で直接指定するか、DCM(データ接続マネージャー)であらかじめ接続先のサーバー情報・認証情報を作成しておき、こちらでその接続情報を指定することも可能です。

3.メールの内容
送信するメールの内容として、下記を設定します。

  • 送信元
    • 送信元のメールアドレスです。
  • 宛先
    • 宛先のメールアドレスです。
    • 送信先が複数ある場合、コンマ(,)やセミコロン(;)で区切ります。
  • 件名
    • メールの件名を指定できます。
    • 既定では、下記のようになっています。
      %AppName%: %Module% - %NumErrors% エラー
      ワークフローの名称が「event.yxmd」であったとすると、メール受信時には下記の件名として表示されます。
      Alteryx: event.yxmd - 0 エラー
      0はワークフロー実行時のエラー数に応じて異なります。これらの変数の詳細は後述します。
    • 添付ファイル
      • 最大10 MBまでの複数ファイルを指定できます。
      • ファイルは、絶対パスまたはワークフロー保存先からの相対パスで指定できます。
      • ワークフロー実行時に存在しないファイルを指定するとエラーとなるのでご注意ください。
        ※例:イベントが「実行前」で、ワークフローによって出力される予定のファイルを指定した場合、メール送信時に該当するファイルは存在しないのでエラーとなります。逆に、イベントが「実行後」であれば、ワークフロー実行前には存在しないファイルであっても、ワークフロー実行時にそのファイルが出力されれば、添付送信可能です。
    • 本文
      既定では下記のようになっています。事前にここで作成した内容が送信されることとなります。
    ユーザー: %User%
    ComputerName: %ComputerName%
    WorkingDir: %WorkingDir%
    エラー: %NumErrors%
    ConversionErrors: %NumConvErrors%
    警告: %Warnings%
    
    %OutputLog%
  • %で囲まれた文字列について

これらは、Eメール送信イベントで使用可能な変数として用意されているものです。

変数 概要
%AppName% 「Alteryx」という文字列
%Module% ワークフローの名称
%User% ユーザー名
%ComputerName% デバイス名
%WorkingDir% ワークフローの保存先ディレクトリの絶対パス
%NumErrors% ワークフロー実行時のエラー数
%NumConvErrors% ワークフロー実行時の変換エラー数
(あるフィールドタイプから別のフィールドタイプにデータを変換できない場合に発生するエラー)
%Warnings% ワークフロー実行時の警告数
%OutputLog% 結果ウィンドウに出力されるような実行時のログ

下記にも記載がありますが、使用可能な変数の一覧や各変数の詳細等はドキュメントでも記載がないようです。そのため、件名や内容の動的な変更は難しい印象です。

Email Event Wildcard Documentation | Alteryx Community

注意点

「イベント」タブはバッチ、反復、および位置最適化マクロでは使用できません。

作成したイベントの確認

イベントを作成すると、下記のようにワークフロー設定のイベントタブで確認できるようになります。作成したイベントは、左上の「イベントを有効にする」にチェックが入っている場合のみ動作するので、ご注意ください。

Eメールツール

レポーティングカテゴリに属するEメールツールもメール送信機能を持ちます。Eメールツールは、ワークフロー実行時に最後のツールとして実行されます。

下図はツールの設定画面です。設定項目は赤枠で囲った部分で、こちらも大きく3種類あります。

  1. 有効化チェックボックス
    設定左上のチェックボックスにチェックをいれるかどうかで、設定内容をもとにメールを送信するか制御可能です。
  2. 認証情報
    こちらはEメール送信イベントと基本的に同様です。
    加えて、OAuth 認証として下記の利用が可能とドキュメントに記載があります。
    ・Azure OAuth
    ・Azure Oauth (Alteryx アプリケーション)
  3. メールの内容
    Eメール送信イベントで設定可能な内容をこのツールでも設定可能です。Eメール送信イベントとの違いは下記になります。その他は基本的に同様です。

    • Cc, Bcc フィールドを指定可能
    • 各項目(送信元、宛先、添付ファイル、本文など)の設定方法として、「フィールドを使用する」オプションを指定可能
      ※詳細は後述。

フィールドを使用する オプション

Eメールツールの特徴として、宛先等の指定方法に、ツールの入力データのフィールドを使用することができる点があります。これにより、手入力の手間を最小限に複数の宛先へ異なる内容のメールを作成することができます。

こちらは使用例とともにみていきます。


サンプルとして、下記のワークフローを使用します。

このワークフローは、部署ごとに異なるデータを Alteryx で作成・出力し、各部署に対応するファイルをメールに添付して送信する処理を行っています。
具体的には下記を実行します。

  • テキストインプットとして与えたデータを条件に応じてフィルタ
  • 各データをそれぞれExcelファイルとして出力
  • Eメールツールはメールの設定情報をテキストインプットとして受け取り、ツールが実行される

Eメールツールの入力データ
Eメールツールには、下記を入力として与えています。

  • 送信先
    • メールの送信先アドレス
      • ここでは3つの部署ごとに異なるメールアドレスがある設定です。
    • 添付ファイル
      • 各送信先にアドレスに対応する出力ファイル名を与えます。ここでは、ワークフローの保存先フォルダにファイルを出力しているので、ファイル名のみの入力となっています。ほかにも絶対パスまたはワークフロー保存先からの相対パスでも動作します。
    • 本文
      • 部署ごとに異なる本文を与えています。

Eメールツールの設定
設定は下図の通りです。

赤枠で囲った部分が、ツールの入力データから情報を取得している内容となります。ドロップダウンリストから入力データのフィールドを選択できるので、それぞれ対応するフィールドを指定しています。その他(送信元、件名)は、直接ツールの設定画面で入力しています。

ツールを実行すると、それぞれのアドレスに下記のようなメールが届きます。(図は先頭行の送信先アドレスで受信したメールの内容です。)

メール送信時のトラブル

  • 認証(ログイン)失敗
    下記のようなメッセージが出力され、ワークフローでエラーが発生します。

    • エラーメッセージの例
      Error: Func 'curl_easy_perform' failed, ret = 67, desc = Login denied
    • 原因の可能性
      • ユーザー名またはパスワードが異なる
      • Gmail の場合、 [安全性の低いアプリの許可] が有効になっていない
  • 存在しない宛先メールアドレスを指定した場合
    Alteryx のワークフロー上ではエラーとならず、問題なくが実行されたように見えます。この場合、送信元メールアドレスに「MAILER-DAEMON」「Mail Delivery Subsystem」や「Postmaster」等からエラーメールが送り返されます。

さいごに

Alteryxからメールを送信する方法を2つ特徴とともにまとめてみました。
それぞれに適切な用途があるので、使いわけるとよいと感じました。特にEメールツールは、宛先やメールの内容としてワークフローで扱うデータのフィールドを利用できるので、ワークフローの定期実行を行えば、最終的な結果の共有までの定型的な業務の自動化にも活用できそうです。

今回は以上になります。こちらの内容が何かの参考になれば幸いです。