在Office 365中调用邮件跟踪是管理员用来监视电子邮件流的最基本的工具之一。由于电子邮件是通过Office 365的EOP传递的,因此有关这些邮件的信息将存储在日志中,并可用于管理目的。无论用户是否删除或清除邮件,管理员都可以查看发送和接收邮件的基本信息。

                                                        image.png

消息跟踪不允许您查看到邮件的内容。不过,它可以提供很多关于电子邮件的重要数据:

  • 发件人和收件人

  • 发送和接收日期

  • 主题和大小

  • 事件的状态和细节。状态字段中有六个可能的值:提交,失败,挂起,隔离,过滤为垃圾邮件和未知。

  • 用于发送消息的IP地址

  • 消息ID是标识消息的唯一编号。如果邮件发送给多个收件人,则会在邮件追踪搜索中为每个收件人显示一次,但所有这些条目将具有相同的邮件ID和不同的邮件追踪ID


本地Exchange中的邮件跟踪日志与Office 365中的邮件跟踪之间存在一些显着差异。最重要的一点是,邮件跟踪日志是可以直接访问的简单文本文件,并可用于备份目的而复制,但也可以删除手动。


邮件跟踪日志和Office 365邮件跟踪之间的差异


邮件跟踪日志(本地Exchange)消息跟踪(Exchange Online)
访问PowerShell,或者 - 一个文本编辑器。PowerShell,EAC。
大小限制对于设置目录中的所有消息跟踪日志文件,默认情况下都是可配置的1000 MB。没有已知的大小限制。
查询限制默认情况下,最早的文件被覆盖前的30天。可以增加(或减少)。易于访问的消息跟踪为7天,“历史搜索”为90天 - 结果只能在可下载的CSV文件中查看。
可用性有关消息的所有数据在发送或接收后立即可用。小于4小时的消息可能无法使用。
延迟所有搜索立即开始搜索超过七天的电子邮件可能需要几个小时。搜索请求甚至开始处理之前需要一些时间。


消息跟踪的实际应用

消息跟踪使得可以了解某些消息发生了什么,即使它们没有被发送,或被删除。这种信息有不同的用途:

  • 查找并解决邮件传递问题 - 邮件追踪的最基本和“传统”的目的。每当用户或客户报告某些消息似乎丢失时,管理员就可以找到问题的根本。当然,快速找到正确的消息取决于用户提供的信息量。发现“上周有人应该送我”的消息可能需要一段时间,尤其是在大型组织中

  • 监视邮件流 - 由于消息跟踪收集关于在组织内处理的所有消息的数据,所以可以使用结果来收集统计数据。

  • 检查您的邮件流规则是否按照他们应该的方式工作 - 配置邮件流规则时不会犯错,特别是在大型组织中,以及不同规则之间可能存在冲突时。由于消息跟踪详细信息提供了有关故障的详细信息,因此您将能够确定哪些邮件流规则存在错误。

  • 消息取证 - 尽管消息跟踪日志和消息跟踪结果不会让管理员进入电子邮件的内容,但有关发件人,收件人,日期,时间和邮件大小的信息可能会非常有价值,例如的诉讼。如果一个重要的电子邮件在诉讼举行之前被清除,或者激活了保留策略,则日志可以作为重要证据。



跟踪消息所需的权限

与Office 365中的任何操作一样,消息跟踪搜索需要特定的权限或角色

  • 安全管理员

  • 安全阅读器

  • 仅查看收件人

  • 合规管理员

  • 数据丢失预防

默认情况下,角色组织组织管理  具有所有必需的权限

有两种方法可以跟踪Office 365中的消息 - PowerShell和EAC我们来看看他们。


使用PowerShell进行Office 365消息跟踪

您可以使用PowerShell搜索本地服务器上的邮件跟踪日志,并在Exchange Online中跟踪邮件。虽然这种经验在某种程度上是相似的,但也有一些差异值得一提。

本地Exchange只有一个用于获取感兴趣的数据的cmdlet:Get-MessageTrackingLog在Office 365中,通讯员cmdlet是Get-MessageTrace两个cmdlet都立即执行,但Get-MessageTrackingLog搜索所有现有日志时,Exchange Online对等设备只能返回七天。对于较老的消息,还有另一个cmdlet启动“历史搜索”(有关该文章后面部分的cmdlet)。

Get-MessageTrace不需要任何额外的参数; 但是,如果您不添加任何内容,它将返回有关您的租户在过去48小时内处理的所有消息的信息。通常,这会为您提供太多数据用于诊断目的。要了解特定电子邮件发生的情况,您需要缩小查询范围。例如:

Get-MessageTrace -RecipientAddress <user’s address> -StartDate 11/07/2017 -EndDate 11/14/2017
image.png


此cmdlet显示在定义的日期之间定向到用户的所有邮件流。如果没有提供所有必需的细节,请更改结果的格式并指定您需要的属性,例如FromIPSize


Get-MessageTrace -RecipientAddress <user’s address> -StartDate 11/07/2017 -EndDate 11/14/2017 | Format-list -Property Received,SenderAddress,Status,MessageTraceId

image.png

该列表为您提供了足够的信息来找到正确的信息。为了检查发生了什么,例如,为什么交付失败,您将需要Get-MessageTraceDetail。从前面的cmdlet的结果中查找并复制消息跟踪标识,而不是在管道中使用它:

Get-MessageTrace -RecipientAddress <user’s address> -StartDate 11/07/2017 -EndDate 11/14/2017 -Status Failed | Get-MessageTraceDetail

image.png

正如您可以轻松看到的,由于邮件流规则,交付失败。这是您应该总是花一秒钟才能正确命名邮件流规则的原因之一。像“规则1”这样的名字可能不会告诉你什么,即使你是过去制定规则的人。

为超过一周的电子邮件运行邮件跟踪是不可能的,它需要运行历史搜索。要开始搜索,请运行Start-HistoricalSearch。所需的参数是:StartDate,EndDate,ReportTitle和ReportType(MessageTrace或MessageTraceDetail)。请确保您还指定了-NotifyAddress字段,以便在准备就绪后立即收到报告。如果未指定-NotifyAddress参数,则通过EAC访问报告的唯一方法。此外,缩小搜索范围以仅包含所需数据很重要,因为历史搜索可能需要几个小时。

Start-HistoricalSearch -ReportTitle "Trace1" -ReportType MessageTrace -SenderAddress j.stone@mod099.onmicrosoft.com -StartDate 11/01/2017 -EndDate 11/07/2017 -NotifyAddress j.stone@mod099.onmicrosoft.com

要检查在过去十天内开始的任何搜索的状态,请使用Get-HistoricalSearch


在Office 365中使用EAC进行邮件跟踪

本地Exchange不允许通过Exchange管理中心进行邮件跟踪。在Office 365中,EAC支持消息跟踪,并提供相当舒适的体验。尽管通常我更喜欢使用PowerShell管理Exchange Online,但我必须说在这种情况下,EAC似乎非常有效地完成工作。

要访问消息跟踪,请输入Exchange管理中心:

image.png

EAC中,转到邮件流 > 消息跟踪

Office 365 EAC消息跟踪启动

在这个窗口中,您可以输入您想要生成的报告的标准。要搜索7天前发送或接收的电子邮件信息,您需要日期范围字段中选择自定义然后,相应地输入开始和结束日期和时间。请记住,无论您使用EAC还是PS,跟踪旧邮件都被视为历史搜索这意味着你将不得不等待你的报告。生成报告可能需要几个小时。如果您追踪过去七天的消息,单击搜索将打开一个窗口,结果如下:

image.png

如果要查看所选电子邮件的详细信息,请双击该电子邮件,然后打开一个新窗口:

image.png


在这个窗口中,你可以检查消息发生了什么。在上面的示例中,您可以看到由于传输规则而导致投递失败。您可以轻松地检查哪个传输规则导致问题并解决问题。

回到主消息跟踪窗口中,单击查看待处理或已完成的跟踪将显示您执行的历史搜索列表。如果您使用PowerShell启动了历史搜索,但未能指定-NotifyAddress参数,则这是下载包含报告的csv文件的唯一方法。

image.png

下载的报告为CSV格式。每行显示关于单个电子邮件的信息。为了使报告更具可读性,您可以在Excel或其他电子表格中打开它。