使用Outlook Redemption检索原始标头



我正在开发一项Outlook自动化功能,该功能可以接收放置在特定文件夹中的邮件,并将其导出为RFC822格式的邮件。然后,此输出文件将被馈送到SpamAssassin工具sa-learn.exe.

For Each oItem In oFolder.Items
    If TypeOf oItem Is RDOMail Then
        Set oMailItem = oItem
        ' Deptermine the fully qualified path to save the file
        sFilePath = GetFilePath(oMailItem, "//Mailbox/SpamAssassin/Spam") 
        'Save the RFC822 format message
        oMailItem.SaveAs sFilePath, rdoSaveAsType.olRFC822
        DoEvents
        oMailItem.UnRead = False
        oMailItem.Delete
    End If
    DoEvents 'Let the Outlook UI thread breathe a bit
Next 'for each

以下是使用此代码保存的带有经过编辑的电子邮件地址的邮件的邮件头。

From: "Swift Learning" <**********@***.*************.***>
To: <*****@********.***>
Subject: Foreign Languages are easily learned in this program
Date: Tue, 31 Jul 2012 10:11:38 -0700
Message-ID: <8518205138200566845@smx.jacksonpotts2.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary="----=_NextPart_000_13AE_01CD6F0A.C9624870"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQF4Lq/07oPqx1sKGPa5FKQSalUQXg==

缺少的是中继标头,应该看起来像这样。

Received: from [216.104.163.151] by mail.clarkzoo.org (ArGoSoft Mail Server .NET v.1.0.8.4) with ESMTP (EHLO smtp02-forward-1.daemonmail.net)
    for <*****@*********.***>; Tue, 31 Jul 2012 12:36:25 -0700
Received: from mxw03.daemonmail.net (unknown [216.104.161.13])
    by smtp02-forward-1.daemonmail.net (Postfix) with ESMTP id 4447681FDB;
    Tue, 31 Jul 2012 12:18:01 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
    by mxw03.daemonmail.net (Postfix) with ESMTP id 748CF6A0DD
    for <***@******************.***>; Tue, 31 Jul 2012 12:17:52 -0700 (PDT)

我怎样才能捕捉那些中继标头?

更新:

进一步研究,Outlook中MailItem中存储的原始标头与Redemption保存的RFC822格式完全不同。

这是一个并排的比较。

Outlook中"属性"对话框中的原始标头。

Received: from [108.174.54.7] by mail.clarkzoo.org (ArGoSoft Mail Server .NET v.1.0.8.4) with ESMTP (EHLO upgraded.the-ameri-credit-review.com)
    for <*****@********.***>; Wed, 01 Aug 2012 07:34:15 -0700
Date: Wed, 1 Aug 2012 09:55:57 -0400
Subject: Your TransUnion, Equifax, and Experian Scores May Have Changed
From: "Credit Check" <info@the-ameri-credit-review.com>
To: <*****@********.***>
Message-ID: <132692318349a4a4158c108651c1428c@upgraded.the-ameri-credit-review.com>
Mime-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 8bit
Content-Disposition: inline
SPF-Received: softfail
X-FromIP: 108.174.54.7

RFC822格式文件的头文件:

From: "Credit Check" <info@the-ameri-credit-review.com>
To: <*****@********.***>
Subject: Your TransUnion, Equifax, and Experian Scores May Have Changed
Date: Wed, 1 Aug 2012 06:55:57 -0700
Message-ID: <132692318349a4a4158c108651c1428c@upgraded.the-ameri-credit-review.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary="----=_NextPart_000_011B_01CD6FC4.403990C0"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQIRB+hjg86/OeRgMx9VYijSdeLwhw==

这些标题只是表面上相同。

  • 继电器标头丢失
  • 日期和受试者处于不同的位置
  • 日期标题已修改为重新显示本地时区
  • 内容类型已从"text.html;charset=us-ascii"更改为"multipart/alternative;"
  • 标头已添加,标头已删除

更好的问题是如何捕获消息的原始标头?

我知道这是一篇旧帖子,但请尝试保存为rdoSaveAsType.olRFC822_Redemion,而不是rdoSaveAsType.olRFC 822。它似乎保留了所有的标题。

最新更新