Outlookの受信メールから属性情報を取得する方法

【概要】

Outlookからメール受信時、メール属性情報(件名、メール形式、受信日時、サイズ等)を取得する方法を解説します。


  • [Outlook メールメッセージを取得(Get Outlook Mail Messages)]アクティビティを使用して、メールを受信します。
  • 受信メールに関わる情報は、mailmessageオブジェクトに格納されます。
  • mailMessageオブジェクトのHeadersプロパティを使用して、属性情報を取得します。

【詳細】

属性情報として、取得可能なキー情報確認方法は、AllKeysプロパティで参照できます。
MailMessage.Headers.AllKeysプロパティに属性情報のキー一覧が格納されています。
以下に各属性の取得例を記載します。


例)属性情報として、件名取得
mailMessage(0).Headers("Subject")
例)属性情報として、メール形式取得
mailMessage(0).Headers("IsHTML")
例)属性情報として、受信日取得
mailMessage(0).Headers("DateRecieved")
例)属性情報として、サイズ取得
mailMessage(0).Headers("Size")
・・等

日付項目取得について、注意事項を紹介します。
DateTime.Parse(mailMessage.Headers(“Date”)) で日付項目のDateTime変換を行った場合、DateTime.Parseに失敗するケースがあります。

失敗するケースは、「Date: Mon, 5 Feb 2018 14:32:24 +0900 (JST)」フォーマットです。
成功するケースは、「Date: Tue, 9 Jan 2018 17:08:34 +0900」フォーマットです。
以下のように"(JST)"が含まれているかどうか判別し、日付文字列をDateTimeオブジェクトに変換する必要があります。

image

下記サンプルソースをご参照ください。
【ST01MA0004】 Sample.zip (3.2 KB)

動作確認は、以下バージョンにて実施しております。
サンプルにつきましては、あくまで唯一無二の実装方法ではなく、ひとつの例となります。
・UiPath.Mail.Activities = 1.2.6863.29868
・UiPath.System.Activities = 18.3.6877.28276
・UiPath.UIAutomation.Activities = 18.3.6877.28298

5 Likes