SharepointのSendEmail APIは2025年10月31日で廃止になります。PowerAutomateではOutlookコネクタをつかうしかなくなってしまうようです。
https://devblogs.microsoft.com/microsoft365dev/retirement-of-the-sharepoint-sendemail-api/
SharePoint Onlineコネクタの「SharePointにHTTP要求を送信する」アクションを使ってメールを送信します。
サイトからの通知で、個人のメアドを発信元に使いたくないときに有効です。
※この方法ではSharePoint Onlineでサイトを用意しておく必要があります。
※メーリングリストに送信できるかどうかは未検証です。
1件のメールアドレスに送信する
プロパティ | 設定する値 |
---|---|
サイトのアドレス | 候補から用意したSPOサイトを選択、URLで用意したサイトを指定する |
方法 | Post |
URI | _api/SP.Utilities.Utility.SendEmail |
ヘッダー | {"Accept": "application/json; odata=nometadata","content-type": "application/json;odata=nometadata"} |
body | {'properties': {'To': [' 実際のメールアドレスに置き換え '],'Body':' 文面を記述する。改行やリンクのhtmlタグ使えます。 ','Subject': ' 件名を記述します '}} |
複数人に送信する
プロパティ | 設定する値 |
---|---|
サイトのアドレス | 候補から用意したSPOサイトを選択、URLで用意したサイトを指定する |
方法 | Post |
URI | _api/SP.Utilities.Utility.SendEmail |
ヘッダー | {"Accept": "application/json;odata=verbose","content-type": "application/json;odata=verbose"} |
body | {'properties': { 'To':{ 'results': [ A ] },'Body':' 文面を記述する。改行やリンクのhtmlタグ使えます。 ','Subject': ' 件名を記述します '}} |
Aの箇所 | テキスト型の変数を用意し、当該アクションの前に「'e-mail-address1','e-mail-address2'・・・」というように成型しておく |
手こずったところ
- Outlookコネクタの利用を当初想定していた為、ダブルクォーテーション→シングルクォーテーション、セミコロン→カンマへの変更が必要だったという初手躓き
- メールの宛先を変数に持たせる際にアレイにしてしまったため、ボディ内で動的なコンテンツの検索をしても変数が表示されなかった。 ⇒ 文字列変数にするのが正解
- 送信相手が変動する⇒ 設定されていない可能性のあるメールアドレスをnull判定の上、concat関数を利用する
参考にしたページ、ブログ
複数の宛先にメールする
concat関数
シングルクォート