前回Power AutomateとPower Appsの連携でメールアプリを開発しました。前回はPower AutomateとPower Appsの連携方法を紹介するために遠回りしましたが、実はPower Apps単体でもメール送信アプリの開発が可能です。さらに添付ファイルも1つだけではなく、複数添付しての送信がとなります。今回はPower Appsでメール送信アプリを開発してみましょう。
添付ファイルコントロールの追加
まずは空のキャンバスアプリから開始します。
面倒な処理を先に片付けてしまいましょう。前回も触れました「添付ファイルコントロール」を配置します。(Power AppsではSharePointリストの添付ファイルカードを利用する時だけ「添付ファイルコントロール」が表示されるようになっています。一時的にSharePointのリストに接続して「添付ファイルコントロール」を表示させて再利用する方法になります。)
データの追加から「コネクタ」-「SharePoint」を選択します。
一覧からリストがある適当なサイトを指定して、リストを選択して接続します。
「挿入」メニューから「フォーム」-「編集」を選択します。
SharePointのリストを選択します。
添付ファイルカードを右クリックして「ロック解除」を選択します。
「添付ファイルコントロール」をコピーします。
「Screen1」を選択してCtrl+Vで貼り付けます。
「Form1」は利用しないので削除しておきましょう。
データコネクタの追加
このようにテキストボックス、リッチテキストボックス、添付ファイルコントロール、送信ボタンを配置します。
「データ」を表示します。SharePointのデータは不要ですので削除します。
「データの追加」から「コネクタ」-「Office 365 Outlook」を選択します。
送信ボタンの「OnSelect」に以下のコードを記載します。(テキストボックス等の名前は任意に変更しています。)
Office365Outlook.SendEmailV2( txtMailAddress.Text, txtSubject.Text, txtContent.HtmlText, { Attachments: AddColumns( RenameColumns( DataCardValue3_1.Attachments ,"Value","ContentBytes"),"@odata.type","" ) })
最後にエラーが出ているところがありますが、こちらは「添付ファイルコントロール」をコピーしてきたためのエラーなので、該当箇所は全て空白にしてエラーを回避します。
テスト
複数の添付ファイル付きで送信テストを行います。
2つの添付ファイルも問題なくメール送信が成功しました。
以上、Power Apps 単体でのメール送信アプリの開発方法を紹介しました。実際はデータコネクタとしてOffice 365 Outlookを利用しています。メール送信時の面倒な認証手続きなど考慮することなく、さらに添付ファイルもきちんと送信できる実用レベルのアプリ開発がわずかなコードのみで完成しました。
アイディア次第でまだまだ機能を追加してさらにレベルアップしたアプリ開発を楽しみましょう。