返回首页
当前位置: 主页 > 编程语言 > C#教程 >

Exchange用户邮件状态跟踪实现教程

时间:2016-10-09 21:55来源:电脑教程学习网 www.etwiki.cn 编辑:admin

谈到Exchange用户邮件的状态跟踪,你可能会觉得内部用户将邮件发送给收件人了,发件人没有收到退信邮件,或者管理员看到没有堵在邮件队列中就表示该邮件已经基本送达给收件人了。但并非如此,也有可能会出现其他原因导致邮件在传递过程中被删除了,比如,Exchange 2013邮件系统中的”恶意软件筛选器”功能启用的话,就会出现邮件被删除的现象。在这种情况下,邮件不会送达给收件人,也就不会有后续提到的邮件跟踪状态了。

但是我们想想以下两种场景,我们可能必须通过邮件的跟踪状态才能解决:
1.      用户误发送了一封重要的邮件,而该邮件恰恰具有高度的机密性,发件人不希望收件人知道该邮件的内容,即使知道了也不要泄露出去。这时,希望能够知道收件人到底有没有读取该邮件;
2.      公司新员工报到时,公司会发送一份员工制度给到员工,而员工恰巧在入职后的两天内触犯了公司严重的制度,而员工狡辩没有查看到员工制度的邮件,这时,我们是不是可以通过邮件跟踪获取该封邮件的状态呢。

1.      当用户发送一封邮件后,我们首先要确定该邮件是否已经送达给收件人,以验证该邮件正常传递;
此处我们以使用cw01邮箱发邮件给cw02用户为例,查看该邮件的送达状态。

2.      使用”以管理员身份运行” exchange命令行管理程序,输入以下命令将送达报告获得的结果存储在变量msg内:

$msg = Search-MessageTrackingReport -Identity cw01 -Recipients cw02@sayms.com -BypassDelegateChecking



3.      搜索成功后,运行以下命令浏览结果:

$msg | %{ Get-MessageTrackingReport -Identity $_.MessageTrackingReportId -BypassDelegateChecking }


从上图中可以看到该邮件在什么时间已经送到给cw02用户

4.       通过以上邮件送达报告,我们也只是知道邮件是不是已经送达到收件人了,但这并不能满足我们的要求,关键还要知道收件人是否已经阅读该邮件,默认在邮件系统未启用邮件的阅读跟踪,需要进行阅读跟踪配置;

5.       使用”以管理员身份运行” exchange命令行管理程序,输入以下命令将启用阅读跟踪:

Set-OrganizationConfig -ReadTrackingEnabled $true



6.      当在组织级别启用邮件阅读跟踪后,该操作就会对所有用户生效,但是有时候可能不希望能够看到领导邮件的状态,所以需要针对领导账户单独禁用邮件跟踪,运行以下命令设置:

Set-Mailbox -Identity Exadmin -MessageTrackingReadStatusEnabled $false

以上禁用Exadmin用户账号的邮件阅读跟踪

7.      在组织级别启用阅读跟踪之后,就可以针对单封邮件的阅读状态进行追踪:如下所示,追踪用户cw01发送的主题为“邮件送达测试”的邮件是否被收件人cw02查看,通过输入以下命令将邮件送达的值赋予给变量msg:

$msg = Search-MessageTrackingReport -Identity cw01 -Subject "邮件送达测试" -BypassDelegateChecking



8.      接着运行以下命令查看收件人cw02是否阅读这封邮件:

$msg | %{ Get-MessageTrackingReport -Identity $_.MessageTrackingReportId -BypassDelegateChecking -RecipientPathFilter cw02@sayms.com -ReportTemplate RecipientPath }


9.      当cw02没有阅读这封邮件时,如下图所示:


10.   当cw02已经阅读这封邮件时,如下图所示:

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):Exchange 用户邮件状态跟踪
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐内容