Power Platformメモ
Power AutomateのSendEmailV2でHTMLメールを送る基本
Power AutomateのSend an email (V2)でHTMLを使ったメールを送る際の基本的な考え方を整理したメモです。
Power AutomateのSendEmailV2でHTMLメールを送る基本
この記事の位置づけ
この記事は、初学者向けの技術メモです。Power Automate の仕様や動作は更新されることがあります。
実際の動作はフロー・環境・メールクライアントで確認してください。
ざっくり言うと
Power Automate の「Send an email (V2)」アクションでは、メール本文がHTMLとして扱われます。そのため、プレーンテキストの感覚で書くと、改行が効かなかったり、表示が崩れたりすることがあります。
「HTMLメールを送りたいのか、プレーンテキストを送りたいのか」を意識して組み立てることが、最初の整理ポイントになります。
主なポイント
- Send an email (V2) の本文はHTML形式で送られる
- 改行には
<br>を使う方が意図通りになりやすい - テキストをそのまま入れても改行は反映されないことがある
- HTMLタグを書かなくても動くが、整形したい場合はHTMLとして組み立てる
- Power Apps側からデータを渡す場合、どこでHTMLを組み立てるかを決める
改行の扱い
プレーンテキストの改行(Enterキー)をそのまま本文に入れても、メールクライアント側でHTMLとして処理されるため、改行が表示されないことがあります。
改行したい場合は <br> を使います。
1行目<br>
2行目<br>
3行目
Power Automate の式で文字列を組み立てる場合は次のような形になります。
concat('1行目', '<br>', '2行目')
シンプルなHTML本文の例
箇条書きや見出しを使いたい場合は、HTMLタグで組み立てます。
<p>お疲れ様です。</p>
<p>以下の内容をご確認ください。</p>
<ul>
<li>項目A</li>
<li>項目B</li>
</ul>
<p>よろしくお願いいたします。</p>
Power Appsからデータを渡す場合の考え方
Power Appsで入力した内容をメール本文に使う場合、次の2つのパターンが考えられます。
- Power Apps側でHTMLを組み立てて渡す:
"<p>" & TextInput.Text & "</p>"のように文字列を作る - Power Automate側でHTMLに変換する: 受け取ったテキストをフロー内でHTML形式に整形する
どちらも有効ですが、HTMLとして意図しない文字(< や > など)が含まれる入力がある場合の扱いには注意が必要です。
注意点
HTMLメールはメールクライアントごとに表示が異なることがあります。OutlookとGmailで見え方が変わるケースもあるため、主要なクライアントで確認する習慣をつけると安心です。
また、ユーザー入力をそのままHTMLとして使う場合は、意図しないHTMLが解釈されないように確認が必要です。