了解邮件跟踪

 

适用于: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上一次修改主题: 2015-03-09

邮件跟踪日志是一个详细日志,其中记录了运行 Microsoft Exchange Server 2010 且安装了集线器传输服务器角色、邮箱服务器角色或边缘传输服务器角色的计算机接收和发送所有邮件的传输活动。安装了客户端访问服务器角色或统一消息服务器角色的 Exchange 服务器没有邮件跟踪日志。可使用邮件跟踪日志进行邮件检查、邮件流分析、报告和故障排除。

可以将 Set-TransportServer cmdlet 用于集线器传输服务器或边缘传输服务器上的所有邮件跟踪配置任务。可以将 Set-MailboxServer cmdlet 用于邮箱服务器上的所有邮件跟踪配置任务。对于安装了集线器传输服务器角色和邮箱服务器角色的服务器,可以使用 Set-TransportServer cmdlet 或 Set-MailboxServer cmdlet。可以使用这些 cmdlet 进行下列邮件跟踪配置更改:

  • Enable or disable message tracking:默认为启用。

  • Specify the location of the message tracking log files

  • Specify a maximum size for the individual message tracking log files:默认为 10 MB。

  • Specify a maximum size for the directory that contains the message tracking log files:默认为 1,000 MB。

  • Specify maximum age for the message tracking log files:默认为 30 天。

  • Enable or disable message subject logging in the message tracking logs默认为启用。

注释注意:
您还可以使用集线器传输服务器或边缘传输服务器上的 Exchange 管理控制台来启用或禁用邮件跟踪,并指定邮件跟踪日志文件的位置。

默认情况下,Exchange 2010 使用日志轮换来限制既基于文件大小又基于期限的邮件跟踪日志。这有助于控制日志文件使用的硬盘空间。

邮件跟踪日志文件的结构

默认情况下,邮件跟踪日志文件位于 C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking。

邮件跟踪日志目录中日志文件的命名约定取决于所安装的服务器角色。在集线器传输服务器或边缘传输服务器上,日志文件命名为 MSGTRKyyyymmdd-nnnn.log。而在邮箱服务器上,日志文件命名为 MSGTRKMyyyymmdd-nnnn.log。当集线器传输服务器角色和邮箱服务器角色安装在同一台服务器上时,将在邮件跟踪日志目录中创建使用上述不同名称前缀的不同日志文件。

日志文件名称中的占位符代表以下信息:

  • 占位符 yyyymmdd 为创建日志文件的协调世界时 (UTC) 日期。yyyy = 年,mm = 月,dd = 日。

  • 占位符 nnnn 是每个邮件跟踪日志文件名称前缀的每天的实例编号,其值从 1 开始。

信息写入到每个日志文件中,直到文件大小达到其指定的最大值。然后打开具有递增实例编号的新日志文件。此过程在全天重复进行。当满足以下两个条件之一时,日志文件轮换功能将删除最旧的日志文件:

  • 日志文件达到其指定的最长期限。

  • 邮件跟踪日志目录达到其指定最大大小。

    重要重要说明:
    邮件跟踪日志目录的最大大小按以下方法计算:将具有相同名称前缀的所有日志文件的大小相加,求其总和。在计算总目录大小时,不会将其他未遵循名称前缀约定的文件计算在内。重命名旧日志文件或将其他文件复制到邮件跟踪日志目录可能会导致目录超出指定的最大大小。当集线器传输服务器角色和邮箱服务器角色安装在同一台服务器上时,邮件跟踪日志目录的最大大小不是指定的最大大小,因为不同服务器角色生成的邮件跟踪日志文件具有不同的名称前缀。当集线器传输服务器角色和邮箱服务器角色安装在同一台服务器上时,邮件跟踪日志目录的最大大小是指定值的两倍。

邮件跟踪日志文件是文本文件,其中包含逗号分隔值 (CSV) 格式的数据。每个邮件跟踪日志文件的文件头都包含下列信息:

  • #Software:   创建邮件跟踪日志文件的软件的名称。通常,该值为 Microsoft Exchange Server。

  • #Version:   创建邮件跟踪日志文件的软件的版本号。当前值为 14.0.0.0。

  • #Log-Type:   此字段的值是邮件跟踪日志。

  • #Date:   创建日志文件的 UTC 日期-时间。UTC 日期-时间以 ISO 8601 日期-时间格式表示:yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 日,hh = 小时,mm = 分,ss = 秒,fff = 秒的小数,Z 表示 Zulu,是 UTC 的另一种表示方式。

  • #Fields:   邮件跟踪日志文件中使用的字段名(以逗号分隔)。下列字段已列出:

写入邮件跟踪日志的信息

邮件跟踪日志将每个邮件事件存储在日志中的一行上。表 1 中介绍了用于对每个邮件事件分类的事件类型。

表 1 用于对每个邮件事件分类的事件类型

事件名称 说明

BADMAIL

分拣目录或重播目录提交的邮件无法传递或退回。

DELIVER

邮件已传递到邮箱。

DEFER

邮件传递延迟。

DSN

已生成发送状态通知 (DSN)。

DUPLICATEDELIVER

向收件人传递重复邮件。如果收件人是两个通讯组的成员,则可能会发生复制邮件情况。信息存储将检测并删除重复邮件。

EXPAND

已扩展通讯组。

FAIL

邮件传递失败。

POISONMESSAGE

邮件被放入带毒邮件队列或从带毒邮件队列中删除。

RECEIVE

邮件已接收并提交到数据库。RECEIVE 事件可以是指 SMTP 接收(源:SMTP)或 STOREDRIVER(源:STOREDRIVER)提交的邮件。

SMTP RECEIVE 可以来自通过使用 SMTP 提交邮件的任何源。例如,它可以是指集线器传输服务器角色、边缘传输服务器角色、第三方邮件传输代理 (MTA) 或 POP/IMAP 客户端。

STOREDRIVER RECEIVE 由 EdgeTransport.exe 进程记录,是与 STOREDRIVER SUBMIT 事件对应的事件。STOREDRIVER SUBMIT 由邮件提交进程记录。这些事件可以在相同的服务器上(如果两种服务器角色都安装在本地服务器或不同服务器中),也可以在不同的服务器上。

注释注意:
EdgeTransport.exe 和 MSExchangeTransport.exe 是 Microsoft Exchange 传输服务使用的可执行文件。此服务在每个集线器传输服务器或边缘传输服务器上运行。

REDIRECT

在 Active Directory 目录服务查找后,邮件被重定向到一个备选收件人。

RESOLVE

在 Active Directory 查找后,邮件收件人被解析为一个不同的电子邮件地址。

SEND

简单邮件传输协议 (SMTP) 将邮件发送到不同的服务器。

SUBMIT

SUBMIT 事件由运行邮箱服务器角色的 Exchange 2007 计算机中的邮件提交服务进行记录。当该服务成功通知集线器传输服务器邮件正在邮箱存储中等待提交时,便已记录 SUBMIT 事件。

SourceContext 属性提供邮件数据库 (MDB) GUID、邮箱 GUID、事件序列号、邮件类、要存储客户端提交的创建时间戳以及客户端类型。客户端类型可以为用户 (Outlook direct MAPI)、RPCHTTP (Outlook Anywhere)、Outlook Web Access、Exchange Web 服务 (EWS)、Exchange ActiveSync、助理或传输。由邮箱服务器角色生成的邮件跟踪日志仅包含 SUBMIT 事件。

TRANSFER

由于内容转换、邮件收件人限制或代理原因,收件人被移动到分支的邮件。

存储在每行上的邮件事件信息按这些字段组织。这些字段用逗号隔开。通常,字段名是描述性的,足以确定其包含的信息的类型。但是,某些字段可以为空,或者存储在字段中的信息的类型可能基于表 1 中所述的邮件事件类型而更改。用于对每个邮件跟踪事件分类的字段的常规描述在表 2 中介绍。

表 2 用于对每个邮件跟踪事件分类的字段

字段名 描述

date-time

邮件跟踪事件的 UTC 日期-时间以 ISO 8601 格式表示。该值的格式为 yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 日,hh = 小时,mm = 分,ss = 秒,fff = 秒的小数,Z 表示 Zulu,是 UTC 的另一种表示方式。

client-ip

提交邮件的消息服务器或消息客户端的 TCP/IP 地址。

客户端主机名

提交邮件的消息服务器或消息客户端的名称。

server-ip

源或目标 Exchange 服务器的 TCP/IP 地址。

server-hostname

目标服务器的名称。

source-context

与源字段相关联的额外信息。

connector-id

源发送连接器或接收连接器或者目标发送连接器或接收连接器的名称。

来源

负责邮件跟踪事件的 Exchange 传输组件。此字段的可能值如下所示:

  • 用于重播目录提交的 ADMIN

  • AGENT

  • DSN

  • 用于外部连接器提交的 GATEWAY

  • PICKUP

  • ROUTING

  • SMTP

  • 用于 MAPI 提交的 STOREDRIVER

event-id

邮件事件类型。本主题前面的表 1 中已详细介绍这些事件。这些可能值为 BADMAIL、DEFER、DELIVER、DSN、EXPAND、FAIL、POISONMESSAGE、RECEIVE、REDIRECT、RESOLVE、SEND、SUBMIT 和 TRANSFER。

internal-message-id

由当前正在处理邮件的 Exchange 2010 服务器所分配的邮件标识符。

在涉及邮件传递的每个 Exchange 2010 服务器的邮件跟踪日志中,特定邮件的 internal-message-id 值是各不相同的。

message-id

在邮件头字段中找到的 Message-Id: 字段的值。如果 Message-Id: 头字段不存在或为空,则分配任意值。该值在邮件生存期内是常量。

recipient-address

邮件收件人的电子邮件地址。多个电子邮件地址通过分号 (;) 隔开。

recipient-status

此字段用于填充 SEND 事件或 FAIL 事件。

total-bytes

包括附件的邮件的大小,以字节为单位。

recipient-count

邮件中的收件人数。

related-recipient-address

此字段与 EXPAND、REDIRECT 和 RESOLVE 事件一起使用来显示与邮件相关联的其他收件人电子邮件地址。

reference

此字段包含特定类型事件的其他信息:

DSN 该参考字段包含导致 DSN 的邮件的 Internet 邮件 ID。

SEND  该参考字段包含任何发送状态通知 (DSN) 邮件的 Internet 邮件 ID。

TRANSFER 该参考字段包含正在被分支的邮件的 Internet 邮件 ID。

对于其他所有类型的事件,该参考字段为空。

message-subject

Subject: 头字段中找到的邮件主题。邮件主题的跟踪由 MessageTrackingLogSubjectLoggingEnabled 参数控制,该参数在用于集线器传输服务器和边缘传输服务器的 Set-TransportServer cmdlet 中,或者在用于邮箱服务器的 Set-MailboxServer cmdlet 中。默认情况下,启用邮件主题跟踪。通过将 MessageTrackingLogSubjectLoggingEnabled 参数的值设置为 $false,可以禁用邮件主题日志记录。

sender-address

Sender: 头字段中指定的电子邮件地址;如果 Sender: 不存在,则为 From: 头字段中指定的电子邮件地址。

return-path

由邮件信封中 MAIL FROM: 指定的返回电子邮件地址。尽管此字段从不为空,但它可以有表示为 <> 的空发件人地址值。

message-info

此字段包含 DELIVER 和 SEND 事件的邮件起始日期时间。起始日期时间是邮件第一次传入 Exchange 组织的时间。该值的格式为 yyyy-mm-ddThh:mm:ss.fffZ,其中 yyyy = 年,mm = 月,dd = 日,hh = 小时,mm = 分,ss = 秒,fff = 秒的小数,Z 表示 Zulu,是 UTC 的另一种表示方式。

可以使用 Exchange 命令行管理程序中的 Get-MessageTrackingLog cmdlet 或 Exchange 管理控制台中的邮件跟踪工具通过特定的邮件标准来搜索邮件。

邮件跟踪日志的安全注意事项

邮件跟踪日志中不存储任何邮件内容。默认情况下,电子邮件的主题行存储在邮件跟踪日志中。但您可能需要禁用邮件主题日志记录,以满足更高的安全或隐私要求。在启用或禁用邮件主题日志记录之前,请确保已验证有关显示主题行信息的组织策略。

详细信息

有关详细信息,请参阅下列主题:

配置邮件跟踪

搜索邮件跟踪日志

 © 2010 Microsoft Corporation。保留所有权利。