Notesへ戻る

Power Platformメモ

Power AutomateのSendEmailV2でHTMLメールを送る基本

Power AutomateのSend an email (V2)でHTMLを使ったメールを送る際の基本的な考え方を整理したメモです。

Power AutomateSendEmailV2HTMLメールOffice 365

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つのパターンが考えられます。

  1. Power Apps側でHTMLを組み立てて渡す: "<p>" & TextInput.Text & "</p>" のように文字列を作る
  2. Power Automate側でHTMLに変換する: 受け取ったテキストをフロー内でHTML形式に整形する

どちらも有効ですが、HTMLとして意図しない文字(<> など)が含まれる入力がある場合の扱いには注意が必要です。

注意点

HTMLメールはメールクライアントごとに表示が異なることがあります。OutlookとGmailで見え方が変わるケースもあるため、主要なクライアントで確認する習慣をつけると安心です。

また、ユーザー入力をそのままHTMLとして使う場合は、意図しないHTMLが解釈されないように確認が必要です。

関連メモ・関連ツール