GetIMAPMailMessagesで添付ファイルが認識できない

お世話になります

GetIMAPMailMessagesアクティビティを使用し、
添付ファイルのあるメールを取得し、
添付ファイルを所定のフォルダへダウンロードして
保存するというワークフローを組んでいます

テストでは
自分のアドレスから所定のアドレス宛てに送った添付ファイルメールが認識され、
添付ファイルを保存できるのですが、

運用テストで
ほかの方にメールを送っていただいたところ、
その方の添付ファイル付きメールが添付ファイルとして認識されない事象が起きています
原因がわからず苦戦しております…

どなたかアドバイスをおねがいします

UiPath.Mail.Activities = 1.19.0

Gmail画面上では添付ファイルあり
ただし、1件目のものは1件添付有りなのですがリスト上は添付ファイル名が表示されていません

こんにちは

メールの内部構造の話になりますが、添付ではなくインライン画像として格納されているのではないでしょうか?その場合、アクティビティが対応していなければ別の方法で取得する必要があるかと思います。

以下トピックが関連しているかもしれません

1 Like

Yoichiさま
いつもありがとうございます

インライン画像を取得するというアプローチになりそうなのですね
いただいたトピックを参照いたします!

ちなみに iPhoneから画像添付すると インラインになるようです

mailMessageVar.AlternateViews(0).LinkedResources(0).ContentType = New System.Net.Mime.ContentType(“application/octet-stream; name=imageX.png”)

先のトピックでご提示されている↑の式ですが、
mailMessageVar は どういった意味合いのもの でしょうか?
理解できておらず、代入アクティビティにそのままいれてもうまくいきません↓

20230804_代入式が不正

と同様の事象のようです
iPhoneからの画像添付メールがインライン画像となっており、
SaveMailAttachmentsアクティビティでもインライン添付として認識されていません

Mail関連のアクティビティから
インライン画像ファイルをダウンロードするのは不可能なのでしょうか
対象メールをGUIでクリック操作して保存するしかない??

どなたかアドバイスいただけると助かります。

こんにちは

SaveMailAttachmentsアクティビティでもインライン添付として認識されていません

ですので、LinkedResourceからインライン画像を抽出するのです。

一度以下xaml試せますでしょうか?(GetOutlookMailMessgesを使っていますので、IMAPに差し替えてください。)

Main.zip (2.1 KB)

InvokeCodeの中身は

var ss = lr.ContentStream;
int b=0;
using (var fs = new FileStream(lr.ContentType.Name,FileMode.OpenOrCreate)){
	while((b= ss.ReadByte()) != -1){
		fs.WriteByte((byte)b);
	}
	fs.Close();		
}

のようにしています。

1 Like


のように組んでみましたが、

colLinkedResource への代入のところで、エラーになってしまいます
20230804_code2

取得するメールはiPhoneからのインライン画像付きメール1件を読み込んでいる状態なので、
インデックス(0)で存在するはずなのですが。

こんにちは

AlternateViewsが空かもしれませんね。
デバッグ実行でエラー発生時に停止すると思いますので、Localsパネルでmail変数の中身について
・対象が想定しているメールに相違ないか?
・AlternateViewsの数
を確認してみてはと思います。

1 Like

AlternateViewsの数は0となっています。。

こんにちは

このメールを精査いただいて
・メール本文でどのような表現になっているか?(HTMLソース上どうなているか?)
・メールヘッダでどのような表現になっているか(先ほどリンクを添付いただいた先のPOSTにあるような情報です)
を確認することは可能でしょうか?

ご返信ありがとうございます

可能ですが、勤務の都合上、来週火曜日以降になります
ご尽力いただいてすみません。。

難しそうならGUIでクリックして取得するようなことも検討します

1 Like

@Yoichi さま
メールのソース情報をスクショしたものです

インライン添付箇所のみ抜粋します↓
–Apple-Mail-36B64E4A-37CE-4E64-A930-4F529CDB0873
Content-Type: image/jpeg; name=IMG_4940.jpg; x-apple-part-url=AC464835-8648-485B-9BB0-28FDFB6896EE
Content-Disposition: inline; filename=IMG_4940.jpg
Content-Transfer-Encoding: base64

こんにちは

手元で同様環境を準備して試してみましたが、MailMessage中に対象となる画像情報が入っていないので、この方法(GetIMAPMailMessage)での取得は難しいかもしれません...。
他のGmail系のアクティビティを使うか、あるいはDesktop Outlookを経由させると取得できるかもしれません。

1 Like

再現確認ありがとうございます
やはり難しいのですね
違うアプローチで試してみます…
ありがとうございました

iOSからのメールは特殊ということなんでしょうか。。。

自己レスです

UipathのGetIMAPMailMessagesアクティビティで
iPhoneメールの添付ファイルを確認できませんでしたが、

iPhoneメールをいったん別のアドレス宛て(gmail)に転送するように設定をして、
転送されたメールを処理する運用でカバーすることにいたしました
無駄なメールの授受が発生しますがワークフロー側の修正をしないで済みました

どなたかのお役に立てば幸いです
そもそもiPhoneメールの添付ファイルが認識できるように
アクティビティがアップデートされるのを心待ちにしております

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