Windows10の無償デスクトップ自動化ツール「Power Automate Desktop」でメール操作を自動化する
Power Automate Desktopチュートリアル 第8回
ダウンロード サンプルファイル (1.4 KB)
受信したメールメッセージを取得する
次に、同じアカウントで、受信したメールの内容を取得してみましょう。
同じメールアカウントを使用するため、前節の「[4]カスタムオブジェクトにする」までは同様のため、フローをコピーします。
[1]メール送信のフローをコピーする
「メールを送信する」で作成したフローをコピーします。
フローデザイナーを開き、[Ctrl]+[A]を押して、すべてのアクションを選択後、[Ctrl]+[C]を押して、選択されているアクションをクリップボードにコピーします。
[2]新しいフローを作成する
Power Automate Desktopのトップ画面より[+新しいフロー]をクリックして、適切な名前で新規のフローを[作成]します。
[3]クリップボードのフローを貼り付ける
フローデザイナーのワークスペースをクリックして、[Ctrl]+[V]を押します。これで、クリップボードに退避してあったアクションを貼り付けられるので、一旦、ツールバーの保存ボタンで、フローを保存しておきましょう。
[4]不要な部分を削除する
件名を設定している[変数の設定]アクション以降は削除します。
[5]メールを取得する
[メール]アクショングループの[メールメッセージの取得]アクションを配置すると、設定ダイアログが開きます。
設定ダイアログが起動するので、以下のように情報を入力&保存します。
| 分類 | 項目 | 設定値(例) |
|---|---|---|
| IMAPサーバー | IMAPサーバー | imap.gmail.com |
| ポート | 993 (既定) | |
| ユーザー名 | %mailInfo.mail% | |
| パスワード | ドロップダウンで[変数としてのパスワードを入力]を選択。入力フィールドは%mailInfo.pass% | |
| メールフィルター | メールフォルダー | inbox |
| 取得 | 未読のメールメッセージのみ |
実行されると、変数RetrievedEmailsにはメールメッセージオブジェクトのリストが代入されます。このサンプルでは、データテーブル型変数にメール一覧を代入して、Excelシートに反映させます。まず、ヘッダーとして、項目名リストを定義してメールメッセージオブジェクトを行として追加していきます。
[6]データテーブル型変数を作成する
[変数]アクショングループの[変数の設定]アクションを配置すると、設定ダイアログが開きます。
以下の設定を入力し、保存します。
- 設定: %MailTable%
- 宛先: %{['From', '件名', '送信日時', '本文'] }%
データテーブル型の変数と作成や行追加の記法については、第4回「ファイルやフォルダーの操作を自動化する」で説明しているので、併せて参照してください。
[7]取得メッセージの個数だけループする
[ループ]アクショングループの[For each]アクションを配置すると、設定ダイアログが開きます。
以下の設定を入力し、保存します。
- 反復処理を行う値: %RetrievedEmails%
[8]メッセージオブジェクトをデータテーブル型の行に変換する
[変数]アクショングループの[変数の設定]アクションを[For each]と[End]の間に配置します。
設定ダイアログが開いたら、以下の設定を追加&保存します。
- 設定: %Message%
- 宛先: %{[CurrentItem['From'], CurrentItem['Subject'], CurrentItem['Date'], CurrentItem['BodyText']] }%
と設定して保存します。
CurrentItemは取得した個々のメールオブジェクトを示します。メールメッセージオブジェクトのプロパティは「電子メール - Power Automate | Microsoft Docs」から確認できます。
[9]データテーブル型変数に行を追加する
[変数]アクショングループの[変数の設定]アクションを[For each]と[End]の間の末尾に配置すると、設定ダイアログが開きます。
以下の設定を入力し、保存します。
- 設定: %MailTable%
- 宛先: %MailTable + Message%
[10]Excelを起動する
[Excel]アクショングループの[Excelの起動]アクションを[End]の下に配置してそのまま保存します。
[11]内容をExcelワークシートに書き込む
[Excel]アクショングループの[Excelワークシートに書き込み]アクションを配置すると、設定ダイアログが開きます。
以下の設定を入力し、保存します。
- 書き込む値: %MailTable%
- 列: 1
- 行: 1
[12]フローを実行する
フローデザイナーのツールバーの保存ボタンで保存して、フローデザイナーのツールバーの実行ボタンで実行開始します。実行が終わると、Excelワークシートに、取得した未読のメールメッセージの内容が表示されます。
[注意]Gmailメールメッセージを取得のアクションで認証エラーが発生した場合
Power Automate for Desktopのフローからメールを取得できない場合があります。
メールメッセージを取得のアクションで認証エラーが発生した場合は、以下を試してください。
GmailのIMAPが有効になっているか確認・有効化
[Gmail設定-メール転送とPOP/IMAP]にて、IMAPアクセスが無効であれば、有効にします。
Gmailのパスワードの利用について
2022/5/30以降、Google外のサードパーティーアプリではGmailのパスワードによる認証ができなくなります。
代わりにアプリパスワードを使用します。アプリパスワードは2段階認証プロセスを有効にしているアカウントでのみ使用できます。
まずは2段階認証プロセスを有効にしてから、アプリパスワードを生成します。
- [Googleアカウント-セキュリティ]を開きます
- [Googleへのログイン]で、[2段階認証プロセス]次の操作[使ってみる]を選択します
- 画面上の指示に沿って手順を完了します
- 再度[Googleアカウント-セキュリティ]を開きます
- [Googleへのログイン]で [アプリパスワード] をクリックします
- ログインが求められる場合はログインします
- アプリを選択で[メール]を選択します
- デバイスを選択で[Windowsパソコン]を選択します
- [生成]ボタンをクリックします
- 生成されたパスワードウィンドウの黄色地の16桁のパスワードをコピーします
- このパスワードをGmailのパスワードの代わりに使用します。具体的には記事の[メールアクセス情報.txt]ファイルのpassプロパティに上書きします(サードパーティーアプリアプリでのGmailの送受信に使用できます)
まとめ
メールの送受信のアクションについて説明しました。実際には、単体で使用するよりも他のアクションと組み合わせて取得したメールの内容に応じてフローを変化させたり、フローの結果によってメールの送信内容や宛先を変化させたりなどの利用方法が考えられます。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- Power Automate Desktopチュートリアル連載記事一覧
- この記事の著者
-
WINGSプロジェクト 飯島 聡(WINGSプロジェクト イイジマ サトシ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
