- 当用户发送一封邮件后,我们首先要确定该邮件是否已经送达给收件人,以验证该邮件正常传递;
此处我们以使用cw01邮箱发邮件给cw02用户为例,查看该邮件的送达状态。
- 使用”以管理员身份运行” exchange命令行管理程序,输入以下命令将送达报告获得的结果存储在变量msg内:
$msg = Search-MessageTrackingReport -Identity cw01 -Recipients cw02@sayms.com -BypassDelegateChecking
- 搜索成功后,运行以下命令浏览结果:
$msg | %{ Get-MessageTrackingReport -Identity $_.MessageTrackingReportId -BypassDelegateChecking }
从上图中可以看到该邮件在什么时间已经送到给cw02用户
-
通过以上邮件送达报告,我们也只是知道邮件是不是已经送达到收件人了,但这并不能满足我们的要求,关键还要知道收件人是否已经阅读该邮件,默认在邮件系统未启用邮件的阅读跟踪,需要进行阅读跟踪配置;
- 使用”以管理员身份运行” exchange命令行管理程序,输入以下命令将启用阅读跟踪:
Set-OrganizationConfig -ReadTrackingEnabled $true
- 当在组织级别启用邮件阅读跟踪后,该操作就会对所有用户生效,但是有时候可能不希望能够看到领导邮件的状态,所以需要针对领导账户单独禁用邮件跟踪,运行以下命令设置:
Set-Mailbox -Identity Exadmin -MessageTrackingReadStatusEnabled $false
以上禁用Exadmin用户账号的邮件阅读跟踪
- 在组织级别启用阅读跟踪之后,就可以针对单封邮件的阅读状态进行追踪:如下所示,追踪用户cw01发送的主题为“邮件送达测试”的邮件是否被收件人cw02查看,通过输入以下命令将邮件送达的值赋予给变量msg:
$msg = Search-MessageTrackingReport -Identity cw01 -Subject "邮件送达测试" -BypassDelegateChecking
- 接着运行以下命令查看收件人cw02是否阅读这封邮件:
$msg | %{ Get-MessageTrackingReport -Identity $_.MessageTrackingReportId -BypassDelegateChecking -RecipientPathFilter cw02@sayms.com -ReportTemplate RecipientPath }
-
当cw02没有阅读这封邮件时,如下图所示:
- 当cw02已经阅读这封邮件时,如下图所示:
转载于:https://blog.51cto.com/11258494/2139401