本記事では、Power Appsからのメール送信について、基本的な方法から、複数の宛先指定、CC/BCCの設定、添付ファイルやリンクの追加、重要度の設定、HTML形式での送信、さらにはPower Automateを活用した自動送信まで、詳細に解説いたします。
各機能の実装方法については、サンプルコードを交えながら具体的に説明しておりますので、Power Appsの初心者の方はぜひチャレンジしてみてください。
Power Apps で Outlook を使ってメールを送信する方法
Power Apps からメールを送信する方法はいくつかあります。ざっと挙げると以下のとおり。
- Power Apps で Outlook を使ってメールを送信する
- Power Apps から複数のユーザーにメールを送信する
- Power Apps で CC と BCC を付けてメールを送信する
- Power Apps で添付ファイル付きのメールを送信する
- Power Apps でリンク付きのメールを送信する
- Power Apps で重要度(高/低/通常)を設定してメールを送信する
- Power Apps で HTML テーブル付きのメールを送信する
- Power Apps Send Email V2 | Power Automate を使用した Power Apps でのメール送信
それぞれ詳しく解説します。
Power Apps でメールを送信する
Power Apps から Outlook にメールを送信するには、以下の手順のとおり。
- Power Apps アプリを開き、下図のように Office365Outlook コネクタに接続します。

2.Power Apps の画面に、3つのテキスト入力コントロール(txt_UserName、txt_Subject、txt_Body)とボタンコントロールを挿入します。

3.次に、ボタンコントロールを選択し、OnSelect プロパティに以下のコードを設定します。OnSelect = Office365Outlook.SendEmailV2( txt_UserName.Text, txt_Subject.Text, txt_Body.Text )
ここで、
- Office365Outlook.SendEmailV2 = Office 365Outlook コネクタを使用して、Power Apps からメールを送信できます。
- txt_UserName, txt_Subject, txt_Body = Power Apps のテキスト入力コントロールの名前

4.最後に、アプリを保存、公開、プレビューします。ユーザーが情報を入力し、ボタンをクリックすると、下図のように特定のユーザーにメールが送信されます。

5.次に、Outlook を開きます。指定されたユーザーのメールボックスに新しいメールが届きます。

Power Apps から複数のユーザーにメールを送信する
同様に、Power Apps から複数のユーザーにメールを送信したい場合は、以下の手順に従います。
1.Office 365 のユーザーリストを取得する必要がある場合は、Office 365Users コネクタを接続します。

2.Power Apps の画面に、コンボボックスコントロールを挿入し、Items プロパティに以下のコードを設定します。Items = Office365Users.SearchUser({searchTerm:cmb_UserName.SearchText}).UserPrincipalName

3.次に、ボタンコントロールを選択し、OnSelect プロパティを次のように設定します。OnSelect = Office365Outlook.SendEmailV2( Concat(cmb_UserName.SelectedItems,UserPrincipalName,","), txt_Subject.Text, txt_Body.Text );
ここで、
- cmb_UserName = Power Apps のコンボボックスコントロール
- UserPrincipalName = このコネクタを使用してユーザーのメールアドレスを取得できます

最後に、コンボボックスから複数のユーザーを選択し、送信ボタンをクリックすると、それぞれのユーザーにメール通知が届きます。
Power Apps で CC と BCC を付けてメールを送信する
PowerApps のメールに CC と BCC のユーザーのメールアドレスを追加したいとします。PowerApps の Office 365 Outlook Sendmail メソッドには、デフォルトで CC と BCC のパラメータが用意されています。
また、PowerApps のメールには、複数の CC および BCC ユーザーアドレスを追加できます。そのためには、ボタンコントロールを選択し、OnSelect プロパティに以下のコードを設定します。
OnSelect = Office365Outlook.SendEmailV2(
Concat(
cmb_UserName.SelectedItems,
UserPrincipalName,
","
),
txt_Subject.Text,
txt_Body.Text,
{
Cc: "送信先のメールアドレス",
BCC:"送信先のメールアドレス"
}
)

Outlook のメールを確認すると、新しいメールが届いています。また、CC と BCC に指定したユーザーにも、同時にメールが届きます。
Power Apps で添付ファイル付きのメールを送信する
Power Apps で添付ファイル付きのメールを送信するには、以下の手順に従います。
Power Apps の EditScreen1 を選択します。ここには、デフォルトで添付ファイルコントロールがあります。次に、カスタムデータカードを追加し、カスタムデータカード内にボタンコントロールを挿入し、OnSelect プロパティを次のように設定します。OnSelect = Office365Outlook.SendEmail( "送信先のメールアドレス", "Added New Project", "PowerApps Project has been added here",{Attachments:ForAll( att_Attachments.Attachments, { ContentBytes: Value, Name: Name } ) } );
ここで、
- att_Attachments = Power Apps の添付ファイルコントロール名

ローカルデバイスから添付ファイルを追加し、送信ボタンをクリックします。
Power Apps でリンク付きのメールを送信する
同様に、Power Apps からリンク付きのメールを送信したい場合は、以下の手順に従います。
Power Apps の EditScreen1 でボタンコントロールを選択し、OnSelect プロパティに以下のコードを設定します。On Select = Office365Outlook.SendEmail( "送信先のメールアドレス", "Added New Project", "PowerApps Project has been added here. This represents the Item link: " & ThisItem.'Link to item' )
更新が完了したら、ボタンコントロールをクリックして、Power Apps からリンク付きのメールを送信します。
Power Apps で重要度(高/低/通常)を設定してメールを送信する
このセクションでは、Power Apps から重要度を設定してメールを送信する方法について説明します。これを実現するには、以下の手順に従います。
- 「Send am Email」画面のボタンコントロールを選択し、OnSelect プロパティに以下のコードを設定します。
OnSelect = Office365Outlook.SendEmailV2( Concat( cmb_UserName.SelectedItems, UserPrincipalName, "," ), txt_Subject.Text, txt_Body.Text, { Cc: "送信先のメールアドレス", Importance: "High" } )
- 最後に、ボタンコントロールをクリックして、Power Apps から重要度「高」のメールを送信します。

このようにして、Power Apps から重要なメールを送信できます。

Power Apps で HTML テーブル付きのメールを送信する
Power Apps で HTML テーブル付きのメールを送信するには、以下の手順に従います。
Power Apps アプリで、左側のナビゲーションから [App] オブジェクトを選択し、OnStart プロパティに以下のコードを設定します。OnStart = ClearCollect( colProductData, {Header1: 1001, Header2: "Laptop", Header3: 25}, {Header1: 1002, Header2: "Mouse", Header3: 15}, {Header1: 1003, Header2: "Mobile", Header3: 10}, {Header1: 1004, Header2: "Bike", Header3: 21}, {Header1: 1005, Header2: "Watch", Header3: 30} );

ここで、
- colProductData = Power Apps のコレクション名
次に、Power Apps の画面にテーブルコントロールを挿入し、Items プロパティを次のように設定します。Items = colProductData
コレクションのフィールドをテーブルコントロールに表示するには、[Fields] オプションを選択し、それぞれのフィールドを選択して、[Add] ボタンをクリックします。
次に、テーブルコントロールの下にボタンコントロールを挿入し、OnSelect プロパティを次のように設定します。OnSelect = Office365Outlook.SendEmailV2( txt_EmailTo.Text, txt_SubjectTo.Text, "<table> <tr> <th>Header1</th> <th>Header2</th> <th>Header3</th> </tr> "&Concat( colProductData, $"<tr> <td>{Header1}</td> <td>{Header2}</td> <td>{Header3}</td> </tr> ")&" </table>" );
最後に、ボタンコントロールをクリックすれば、Power Apps から HTML テーブル付きのメールを送信できます。
Power Apps Send Email V2 | Power Automate を使用した Power Apps でのメール送信
最後に、Power Automate を使用して Power Apps のメールを送信する方法について説明します。これを実現するには、以下の手順に従います。
Power Apps アプリで、[Power Automate] セクションを選択し、[フローを新規作成する] ボタンをクリックし、[フローの作成] ウィンドウの下にある [Powerappsのボタンをクリックして電子メールを送信] をクリックします。

次に、[フローの作成] ウィンドウで [次へ] ボタンを選択します。

[フローを作成] ボタンをクリックすると、フロー(フロー名は変更できます)がデフォルトで作成され、Power Automate セクションに配置されます。

最後に、Power Apps 画面のボタンコントロールを選択し、OnSelect プロパティを次のように設定します。OnSelect = PowerAppsSendmailV2.Run( Concat( cmb_UserName.SelectedItems, UserPrincipalName, "," ), txt_Subject.Text, txt_Body.Text ); Notify("Email has been send")
ボタンコントロールをクリックすると、通知メッセージ(Email has been send)が表示され、特定のユーザーにメールが送信されます。
これがPower Apps Send Email V2 または Power Automate を使用して Power Apps でメールを送信する方法です。