Outlookメールを添付ファイル除いて保存する方法

お世話になっております。
Outlookで受信したメールに対し、ローカルPCにEMLファイルで保存するプロセスを構築しています。
その中、添付ファイルが付いている場合、添付ファイルは別途保存するので、メール本文だけを別ファイルで保存することができればと思います。
今の構築上では添付ファイルが付いている状態で保存することになりますが、どうすれば添付ファイルを除いて本文だけのファイルにすることができるのかを教えていただけますようお願いいたします。

こんにちは

現在どのような方法でEMLとして保存していますでしょうか?

Yoichi様

お世話になっております。
まず、「GetOutlookMailMessage」アクティビティで未読になっているメールを読み取ったうえ、ForEachで「SaveMailMessage」アクティビティを使ってemlファイルにしています。
保存先には「"保存するフォルダー名" + email(ForEachでの繰り返しitem).Subject + “.eml”」に指定しています。

こんにちは

以下のような感じでいかがでしょうか?
メソッド呼び出しで、 mail.Attachments.Clear() を呼び出します。

Yoichi 様

お世話になっております。
教えてくださった方法でテストしてみました。
保存先について、可変性のある値を除いて設定すると正常に添付ファイルを除いて保存できましたが、可変性のある値を追加した状態だと「メール メッセージを保存: 指定されたパスのフォーマットはサポートされていません。」というエラーメッセージが表示されました。
指定したパス名は以下の通りです。
「"保存するフォルダー名" + datetime.now.tostring(“yyyyMMddhhmmss”) + email(ForEachでの繰り返しitem).Subject + “.eml”」

Yoich 様

失礼いたしました。メール件名に、ファイル名としてはつけられない文字が含まれていたことによるものでした。
それに関連しまして、件名に禁止文字がある場合に、除外してファイル名にする方法がありましたら教えていただけますでしょうか。

こんにちは

以下いかがでしょうか?(Subject部分のみ除外しています)

String.Join("",email(ForEachでの繰り返しitem).Subject.Where(Function(c) not System.IO.Path.GetInvalidFileNameChars.Contains(c)))

Yoichi 様

お世話になっております。
いただいた内容で正常に保存できました!ありがとうございます。

1 Like

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