2022/05/18 14:00 Gmailのパスワード利用についてアップデートがあったため、本稿3ページ目「まとめ」の前に追記しました。(編集部)
[注意]本稿はPower Automate Desktopの作業しているPCにExcelがインストールされている前提としています。また、Power Automate for Desktopからメールの送受信に使用可能なSMTP/IMAPサーバーとアカウントがある環境を想定しています。本稿ではGmailを利用します。
対象読者
- Excel/PowerPointなど、一般的なツールの操作を理解している人
- RPAツールを用いて業務を自動化したい人
メールアクション
業務において、作業の結果を報告するためにメールを送信したり、新しい連絡を確認するためメールボックスにあるメールを受信したり、特定の条件を満たす受信メールに対して何か処理をすることは日常茶飯事だと思います。
Power Automate for Desktopのフローからも以下のメールの送受信・処理を呼び出すことができます。
[メール]アクショングループには以下のアクションが用意されています。
- メールメッセージの取得
- メールの送信
- メールメッセージの処理
機密であるメールアクセス情報
まず、単純に定型文を自分自身に送信するフローを作成してみましょう。
本稿ではGmailを利用しますが、SMTPに対応していて各メール送信に必要な設定値にアクセス可能であればどんなメールサービスも構いません。適宜読み替えてください。
機密な情報である送受信メールアドレスとそのパスワードをフローのアクションには直接含めずにテキストファイルから読み込むようにするため、事前に以下の形式で[メールアクセス情報.txt]として作成して、ドキュメントフォルダーに配置します。
{ "mail": "(メールアドレス、xxxxx@gmail.com)", "pass": "(パスワード)" }
[Note]メールアクセス情報の形式について
この形式は、JSON(JavaScript Object Notation)と呼ばれ、元々はブラウザー上での処理を記述するJavaScript言語で構造化されたデータ(=Object)を文字列で表現する記法で、インターネット上でHTTP通信でのデータの交換・保存で標準的に使用されています。またJavaScript以外の多数のプログラミング言語でもサポートされています。Power Automate for Desktopでもカスタムオブジェクトとして解釈するアクションと、カスタムオブジェクトをJSON文字列に変換するアクションが用意されています。
JSON文字列でのオブジェクトは、
{ "プロパティ名1": (値1), "プロパティ名2": (値2), "プロパティ名3": (値3) }
のように、{}の中にプロパティの名前と値の組をカンマ区切りリストで表します。名前と値の文字列は"で囲みます。プロパティの値に別のオブジェクトを設定することもできます。
カスタムオブジェクトとして解釈して変数xに設定した後は、%x.プロパティ名%または%x['プロパティ名']%で対応するプロパティの値を参照できます。