メールに画像を直接埋め込みたい場面
Power Automateでメールを自動送信する際、OneDriveに保存してある画像をメール本文に直接埋め込みたいと思ったことはありませんか?添付ファイルではなく、本文中に画像を表示させたいケースって意外と多いですよね。

そんな時に便利なのが、OneDriveコネクターとOutlookコネクターを組み合わせた方法です。ここでは、実際の設定手順をご紹介していきます。
OneDriveから画像コンテンツを取得する
まずは、埋め込みたい画像のコンテンツを取得する必要があります。ここではOneDriveコネクターを利用します。

画像のコンテンツを取得できるアクションはいくつかありますが、今回はパスによるファイルコンテンツの取得を使ってみましょう。ファイルパスには、埋め込みたい画像のパスを指定します。

これで、画像がフローの中で扱えるようになりました。
Outlookでメール送信の設定を追加する
次に、取得した画像をOutlookのメールで送信するための設定を追加していきます。

Outlookコネクターのメールの送信V2アクションを追加しましょう。宛先と件名は、用途に合わせて適当に設定してください。

HTML形式でメール本文を作成する
ここで重要なのは、メールの本文をHTML形式で入力するという点です。まず、コードビュー形式に設定を変更します。

その後、HTMLのimgタグを使って以下のように記載します。
<img src="data:image/png;base64,">
このあと、base64,の後ろ部分に式を追加していきます。
Base64関数で画像を変換する
Base64関数を使って、値には動的なコンテンツからファイルコンテンツを指定します。

最終的に以下のようなHTMLになります。
<img src="data:image/png;base64, @{base64(body('パスによるファイル_コンテンツの取得'))} " >
これで設定は完成です。
動作を確認してみよう
保存したら、テストから実際に動作を確認してみましょう。

実際にメールを確認すると、本文に画像が埋め込まれていることがわかります。
画像サイズを変更したい場合
もし埋め込む画像のサイズを変更したい場合は、imgタグにwidthなどを指定することで、直接サイズを調整することが可能です。
width を指定した場合の最終的なHTMLは以下のようになります。
<img src="data:image/png;base64, @{base64(body('パスによるファイル_コンテンツの取得'))} " style="width:200px">
200の部分を自由に設定したいただければ、画像のサイズを自由に変更できるようになります。
まとめ
いかがでしたでしょうか。今回はOneDriveを利用した方法をご紹介しました。
SharePointドキュメントを使った方法が知りたい方は、こちらの記事もご確認ください。




コメント