Power Automate で実装する一斉配信メール — 差出人・件名・本文をすべてカスタマイズ
この記事の内容
- Power Automate を使って Excel のリストから一人ひとりにカスタマイズしたメールを一斉送信する方法を解説します
- Excel テーブルにメールアドレス・件名・宛名などの列を追加するだけでフレキシブルに対応できます
- メール本文に受信者の名前を動的に埋め込む方法を紹介します
- 送信者(差出人)のメールアドレスを変更する方法と、必要な Exchange Online の権限設定を解説します
- Exchange Online の送信制限についても説明します
準備:Excel でメール送信リストを作成する
まず Microsoft Teams にチームを作成し、その Files タブに Excel ブックをアップロードします。ブック内にテーブルを作成し、「テーブルとして書式設定」を適用します。
テーブルには少なくとも以下の列を用意します。
| 列名 | 内容 |
|---|---|
| メールアドレス | 宛先のメールアドレス |
| 件名 | そのメール固有の件名 |
| 名前 | 本文に埋め込む宛名 |
テーブルに名前を付けておくと後の設定で分かりやすくなります。テーブルデザイン タブからテーブル名を変更してください(例:メール送付リスト)。
フローの作成:インスタントフローを作る
make.powerautomate.com にアクセスし、作成 → インスタントフロー を選択します。トリガーは「手動でフローをトリガーする」を使用します。実運用では別のトリガー(スケジュールや HTTP など)に切り替えることも可能です。
ステップ 1:Excel テーブルの行を一覧取得する
新しいステップとして Excel Online(Business) コネクタを追加し、「表内に存在する行を一覧表示」 アクションを選択します。
各フィールドを以下のように設定します。
- 場所:Teams のドキュメントライブラリ
- ドキュメントライブラリ:テーブルを配置したチームのドキュメントライブラリ
- ファイル:作成した Excel ブック
- テーブル:
メール送付リスト(先ほど設定したテーブル名)
ステップ 2:Outlook でメールを送信する
続けて Outlook コネクタを追加し、「メールの送信(V2)」 アクションを選択します。
「宛先」フィールドで「動的なコンテンツの追加」を開き、前のステップで取得した メールアドレス を選択します。Excel テーブルは複数行あるため、Power Automate が自動的に Apply to each(各アイテムに適用) ループを追加します。これにより、テーブルの各行に対してメールが1通ずつ送信される仕組みになります。
件名と本文に動的な値を埋め込む
件名フィールドでも「動的なコンテンツ」から Excel テーブルの 件名 列を選択します。これにより、受信者ごとに異なる件名を設定できます。
同様に本文にも動的な値を埋め込めます。例えば以下のように記述します。
「{名前}」の部分に動的コンテンツから 名前 列を挿入することで、「山田さん」「鈴木さん」といった宛名入りのメールを自動生成できます。
差出人(From)を変更する
既定では、フロー接続に使用しているアカウントのメールアドレスが差出人になります。別のアドレスから送信したい場合は、メール送信アクションの 詳細オプション を開き、「差出人」 フィールドに送信元アドレスを入力します。
ただし、指定したアドレスから実際に送信できる権限がないとエラーになります。
Exchange Online で送信権限を設定する
差出人を変更して送信するには、Exchange Online 側で権限設定が必要です。
共有メールボックス を利用する方法もありますが、環境によっては設定がうまく機能しない場合があります。その場合は メール対応セキュリティグループ を使う方法が有効です。
Exchange 管理センターでグループを作成する手順
- Microsoft 365 管理センター にアクセスし、Exchange 管理センター を開きます
- グループ → グループの追加 を選択し、種類として「メール対応セキュリティ グループ」を選びます
- グループ名と送信元にしたいメールアドレスを設定して作成します
- 作成したグループの設定を開き、「メール所有者として送信する」 に自分のアカウントを追加します
この設定により、そのグループのアドレスを差出人としてメールを送信できるようになります。Power Automate のフローで「差出人」にグループのメールアドレスを入力し、フローを実行すると差出人が変更された状態でメールが届きます。
Exchange Online の送信制限に注意する
Exchange Online には以下の送信制限があります。
| 制限項目 | 上限 |
|---|---|
| 1日あたりの受信者数 | 10,000人 |
| 1分あたりのメッセージ数 | 30通 |
これを超えるペースで送信を行うと、メッセージの送信がブロックされます。数十〜数百人規模の一斉送信であれば問題になることはほとんどありませんが、数万通規模の大量送信が必要な場合は、専用のメール配信サービスの利用を検討してください。
まとめ
Power Automate と Excel Online を組み合わせることで、宛名・件名・本文を受信者ごとにカスタマイズした一斉配信メールをプログラミングなしで実装できます。Excel テーブルに列を追加するだけでカスタマイズ項目を自由に増やせるため、拡張性も高い構成です。
差出人アドレスを変更したい場合は Exchange Online 側でのグループ作成と送信権限の付与が必要です。また Exchange Online の送信制限(1日1万受信者、1分30通)の範囲内で運用するよう注意してください。
これまで手作業でコピー&ペーストしながら個別メールを送っていた方は、ぜひ本記事の方法を試してみてください。