はじめに
Power Automate で処理を自動化する際、Outlook で受信したメールの添付ファイルを他の場所に保存したいケースがあると思います。
しかし、以下のように、添付ファイルとは別に、メール本文に画像等が埋め込まれている際、意図せず、こちらの画像も保存されてしまいます。
※意図的に画像を埋め込んでいない際以外にも、会社のロゴ等が署名に埋め込まれているようなこともあると思います。
なぜこのようなことが起きるかというと、実は、こういった埋め込んだ画像について、内部的には添付ファイルとして扱われているためです。
そのため、今回は、Power Automate で、この埋め込んだ画像と添付したファイルを識別して保存するアプローチについて紹介します。
アプローチ
まず、実際にテストで上記のようなメールを送ってみて、Power Automate を実行し、比較をしてみました。
こちらの[IsInline]
辺りが怪しいですね。
調べてみたところ、こちらで判別して問題なさそうです。
最初は、contentId でも識別できるかなと思っていましたが、上記の通り、Power Automate の"新しいメールが届いたとき"アクションでは、contentId については取得していなさそうでしたので、[IsInline]
で判別することにしました。
こちらを元に、以下のようにして条件分岐をして埋め込んだ画像を除外して添付ファイルを保存するようにしてみました。
テストしてみました。無事に添付ファイルだけ保存できたようです。
まとめ
Power Automate で Outlook の添付ファイルと埋め込み画像を識別してファイルを保存するアプローチについて紹介しました。メールの添付ファイルを保存する際、本文に埋め込まれた画像等は保存したくないケースはあると思うので、参考になれば幸いです。