Power Automate Desktopでメールを一括送信するフロー

## Power Automate Desktopを使用して「メール一括送信」
大量にメールを送信する必要があるが、有料ツールを使うほどでもないな・・・とお考えの際に使用できます。

### フロー概要
担当Aさんが、異なった職種を希望する複数の派遣スタッフさんにメールを送ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/4f2a70bf-e982-4393-c15f-7b8974a266fe.png)

### 事前準備
フローを作成する前に、送信対象リストとメールテンプレートを用意しましょう。

#### 送信対象リスト
今回はExcelでメール送信する対象者リストを作成します。
氏名
カナ
メールアドレス
テンプレート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/67c3f9e4-2f14-b041-4893-63180ecd6bfe.png)

#### メールテンプレート
送信対象リストのテンプレートに記述された、テンプレートを作成します。
●　プログラマー希望.txt
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/f95865de-410c-2e52-d967-0be581834830.png)

●　事務職.txt
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/ead811bd-414d-358e-1404-962a55f09817.png)

#### アプリパスワード発行
今回、Gmailから送信しますが、2022年5月30日以降Googleアカウントセキュリティ強化によりアプリパスワードを使用する必要があります。
https://support.google.com/mail/answer/185833?hl=ja

### フローの作成
#### Excel の起動
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【全般】
Excelの起動：次のドキュメントを開く
ドキュメントパス：送信対象リストのパスを指定
インスタンスを表示する：ON
読み取り専用として開く：OFF
【詳細】
※変更なし
【生成された変数】
ExcelInstance
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/b568b36d-5c16-9e52-a8e4-14239d033747.png)


#### Excel ワークシートから最初の空の列や行を取得
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【全般】
Excelインスタンス：%ExcelInstance%
【生成された変数】
FirstFreeColumn
FirstFreeRow
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/e92cc637-2dd9-ba37-50ae-4c69ba085211.png)

#### Excel ワークシートから読み取り
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【全般】
Excelインスタンス：%ExcelInstance%
取得：セル範囲の値
先頭列：1
先頭行：1
最終列：%FirstFreeColumn – 1%
最終行：%FirstFreeRow – 1%
【詳細】
セルの内容をテキストとして取得：OFF
範囲の最初の行に列名が含まれています：ON
【生成された変数】
sendList
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/ce8ce5e0-ac12-413c-f4d6-ee8913dbc335.png)

#### 現在の日時を取得します
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【全般】
取得：現在の日時
タイムゾーン：システムタイムゾーン
【生成された変数】
CurrentDateTime
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/affd98e3-b13d-e79f-9567-622069c66cb6.png)

#### 変数の設定
変数：thisMonth
値：%CurrentDateTime.Month%
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/aacd9760-3d82-72cc-bdd0-8b05196ffb42.png)

#### 変数の設定
変数：newColum
値：5
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/31650aef-f61b-7a0f-9cd0-a6aea4e2988c.png)

#### 変数の設定
変数：newRow
値：2
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/56548e65-6c5a-0fa3-ecfb-5adb7bc7c101.png)

**以下のように表示されているとOKです！**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/e49a3e36-f9c1-3666-fa20-fb3517cf2bfa.png)

#### For each
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
反復処理を行う値：%sendList%
保存先：CurrentItem
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/15641a65-1156-5f4a-941d-da79e9d0f03e.png)

※以下は1～5はFor each内に設定します。
1. 変数の設定
変数：plan
値：%CurrentItem[‘テンプレート’]%

2. ファイルからテキストを読み取ります
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【全般】
ファイル パス：メールテンプレートのファイルパスを指定
※最後に%plan%.txtとしましょう。
内容の保存方法：単一のテキスト値
エンコード：UTF-8
【生成された変数】
template
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/d1013fbe-bbb6-a1cd-a5f2-3a62b691f89d.png)

3. テキストを置換する
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【全般】
解析するテキスト：%template%
検索するテキスト：#NAME#
検索と置換に正規表現を使う：OFF
大文字と小文字を区別しない：OFF
置き換え先のテキスト：%CurrentItem[‘氏名’]%
エスケープ シーケンスをアクティブ化：OFF
【生成された変数】
template
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/67e0f67f-10f5-eed3-3e91-514220ad2cc1.png)

4. テキストを置換する
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【全般】
解析するテキスト：%template%
検索するテキスト：#MONTH#
検索と置換に正規表現を使う：OFF
大文字と小文字を区別しない：OFF
置き換え先のテキスト：%thisMonth%
エスケープシーケンスをアクティブ化：OFF
【生成された変数】
template

5. メールの送信
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【SMTPサーバー】
SMTPサーバー ：smtp.gmail.com
サーバーポート ：465
SSL有効 ：ON
SMTPサーバーには認証が必要 ：ON
ユーザー名：送信元メールアドレス
パスワード ：アプリパスワード
信頼されていない証明書を受け入れます：ON
【全般】
送信元 ：送信元メールアドレス
送信者の表示名：○○○株式会社
送信先 ：%CurrentItem[‘メールアカウント’]%
CC ：未入力
BCC ：未入力
件名 ：%thisMonth%月の案件情報
本文：%template%
本文はHTML：OFF
添付ファイル：未入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/c22f5831-8ad7-9e45-eb59-9d7818a298ca.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/e267fa47-2062-fb4c-338b-4ca648f5e696.png)
※メールアドレスの誤り等、メール送信できない場合に、エラー発生時についての処理も必要ですが、今回は割愛させて頂きます。
**以下のように表示されているとOKです！**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/5b9aa930-e390-8818-facb-5b2c56355a39.png)

9. Excelを閉じる
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【全般】
Excelインスタンス：%ExcelInstance%
Excelを閉じる前：ドキュメントを保存しない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/ba6833e6-c7c5-0292-6d8f-3e770e12d3d8.png)

10. メッセージを表示
”パラメーターの選択”の各項目について、それぞれ設定して保存ボタンを押下しましょう。
【全般】
メッセージ ボックスのタイトル：メール送信
表示するメッセージ：OK
メッセージ ボックス アイコン：いいえ
メッセージ ボックス ボタン：OK
既定のボタン：最初のボタン
メッセージ ボックスを常に手前に表示する：OFF
メッセージ ボックスを自動的に閉じる：OFF
【生成された変数】
ButtonPressed

**以下のように表示されているとOKです！**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2854030/f3ee3496-9fad-5235-49f7-914539d5791c.png)

### 実行
実行ボタンを押しましょう
メールが送られていることを確認ください！



## おわり
以上でメールを一括送信するフローのご紹介終了となります。
ぜひ、試していただき、皆様の業務改善に繋がると嬉しいです！