Gmailに画像を貼り付けて送信したい

お世話になっております。
Gmailに画像を貼り付けて送信したいです。
画像は、毎日変わるPDFファイルの画像を貼り付けるため、数も一定ではありません。
ただ、上から並べていきたいのです。

GsuiteActivitiesの「メールメッセージを送信」アクティビティでHTMLで記述して送信も試しましたが、画像のところだけ認識しません。
どのように、HTMLで記述したらよろしいでしょうか?

できれば、UiPath.Mail.Activitiesの「Gmailを使用」は使用しないで、GsuiteActivitiesの「メールメッセージを送信」を使用したいです。宜しくお願い致します。

こんにちは

受信するメーラーにも依存しますが、例えば

<img src="data:image/png;base64, BASE64DATA........ />

のようにすると直接画像を埋め込めますので、これらを動的に生成して、メール送信アクティビティに渡してみてはと思います。

ありがとうございます。
ちなみに、BASE64DATA…の部分が生成したbase64画像データでよろしいでしょうか。

何度もすみません。
<img src="data:image/png;base64, BASE64DATA… />
上記の<img src="data:image/png;base64, の部分は毎回固定で、
繰り返し処理などで、画像を変換したのを BASE64DATA… の部分に入れる感じでよろしいですか。

はい、画像形式がpngであれば固定です。(他の形式があれば、それにあわせます)
イメージとしては以下になります。

ありがとうございます。
画像をBase64に変換するのは、以下で正しいでしょうか?
メッセージボックスで、正しく変換されているか確認しようとするとエラーになります。
Convert.ToBase64String(System.IO.File.ReadAllBytes(画像ファイルパス))

どのようなエラーが出ていますでしょうか?

すみません、変換できました。
が、Gsuiteアプリケーションスコープに「メールメッセージを送信」の本文に入力すると、文字列部分はちゃんと取れるのですが、画像部分が貼り付けられていません。
以下で正しいでしょうか?
strBody + “<img src=”“data:image/png;base64, “””+strB64+“”" />
"

ダブルクォーテーションの数あるいは位置が合っていないように見えます。
一度テキストファイルなどに書き出して、見本と比べてみてはと思います。

ありがとうございます。
書き直しましたが、やっぱり画像だけが貼り付けられません。
jpg形式のファイルでやっています(pngファイルでも試しましたがダメでした)

手元の環境で試してみましたが、正しく表示されるかは受信側のメーラー次第ですね。
ブラウザ上のGmailではうまく表示されませんが、デスクトップ版Outlookでは、上記Gmailから送信したものが正しく表示されました。
Gmailで正しく表示させるためには、他の手段が必要そうです。

遅くまでご確認いただき、誠にありがとうございます。
UiPath.Mail.ActivitiesのGmailを使用と「メールを送信」でも試してみたいのですが、そちらでこのHTMLのString型変数を使用するにはどうしたらよろしいでしょうか?
プロパティの「本文」に、入れてみましたが、文字列部分は本文に追加されましたが、画像は貼り付けられませんでした。

テキストからのHTML本文に変数設定
ファイルからのHTML本文をnull
にします。

image

こちらの環境では上記のアクティビティで試しました。
どちらかというと受信側の仕様なので、それに合った方法を採る必要がありそうです。

別のワークアラウンドとしてはとしては、例えば最大添付画像数が分かっているようでしたら
その分のファイルを準備して、不要な画像は1x1サイズの白色画像をセットする等で回避できるかも
しれません。

ありがとうございます。
ご提示いただいた方法でも、やはりだめだったのでGmailの問題かと思います。

ちなみに、「エディターを開く」で画像を挿入しようとしていますが、「今すぐ挿入」が使えず、「実行時にファイルから挿入」「クリップボードから挿入」しか使えませんでした。
「実行時にファイルから挿入」で、ファイルパスの入ったString型変数を指定するとエラーが出ました。
「実行時にファイルから挿入」でString型変数を指定する方法などありますでしょうか?

変数の設定はできないと思うので、あらかじめプロジェクトフォルダ内の固定ファイルを参照しておいて、実行時には、当該ファイルをそのファイルに上書きする方法等が考えられます。

@Yoichi さま
承知しました。
大変丁寧にご対応いただき、ありがとうございました。
その方法でやってみます。
感謝でございます。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.