Power Automateでメールを送信する際、本文に画像を直接埋め込みたいと思ったことはありませんか?添付ファイルではなく、本文中に画像を表示させたい場合、Base64形式を使うことで実現することが可能です。ほかにもパスやリンクを利用する方法もありますが、 Base64 形式での埋め込みが安定していて汎用性が高い方法になります。
今回は、SharePointのドキュメントライブラリに保存した画像を、Outlookメールの本文に埋め込む方法をご紹介します。
画像コンテンツの取得
まず最初に、埋め込みたい画像のコンテンツを取得する必要があります。

今回はSharePointのドキュメントライブラリに画像を配置しているので、SharePointコネクタのパスによるファイルコンテンツの取得アクションを利用します。ただし、どんな方法でも画像ファイルのコンテンツが取得できれば問題ありません。

埋め込む画像のサイトやパスを選択しましょう。
メール送信アクションの設定
続いてメールの送信を実施するので、Outlookコネクターのメールの送信 (V2)アクションを利用します。

メールの宛先や件名は、用途に応じて適当に設定してください。
Base64形式で画像を埋め込む
ここからが本題ですね。メールの本文に対して画像を埋め込む形になりますが、今回はBase64形式で埋め込んでいきます。
HTMLイメージタグの設定
メールの本文のスタイルをコード形式にして、<img>タグ(HTMLのイメージタグ)を指定します。

src属性に画像のリンクやコンテンツを指定すると、イメージタグで画像を表示することが可能ですが、今回はこの部分にBase64の形式を指定します。

Base64関数を使った式の記載
括弧の後に、式を記載します。
ファイルコンテンツをBase64形式に変換するために、base64関数を使って、前の手順で取得したファイルコンテンツを囲みます。
<img src="data:image/png;base64, @{base64(body('パスによるファイル_コンテンツの取得'))}" />
src属性の部分ですが、今回はPNG形式の画像なのでpngを指定していますが、JPG形式やGIF形式の場合はimage/png 部分は image/jpg や image/gif と記載を変更する必要があります。
動作確認
これでひとまず画像が埋め込めるようになったので、保存してテストから動作を確認してみましょう。

正しくメール本文に画像が埋め込めていることが確認できますね。
画像サイズの調整
今回のように画像が大きすぎるような場合は、style属性を追加してheightプロパティなどで高さを指定するようにしましょう。
<img src="data:image/png;base64, @{base64(body('パスによるファイル_コンテンツの取得'))}" style="height:100px;" />
すると、このように画像の幅や高さも変更することが可能です。

いかがでしたでしょうか。base64関数を使えば、SharePointの画像を簡単にメール本文に埋め込むことができます。画像のサイズ調整もstyle属性で柔軟に対応できるので、ぜひ試してみてください。
OneDrive を使った場合の方法が知りたい場合は以下の記事をご確認ください。
Power Apps学習の決定版!コントロール別YouTube再生リスト完全ガイド
Power Appsを学習していて「どのコントロールをどう使えばいいのかわからない」「実際の使い方を動画で見ながら覚えたい」と思ったことはありませんか?
実践的な知識を効率よく身につけられるよう、現在公開している動画を整理したYouTube再生リスト集をご紹介します。




コメント