我有一个用户,当人们通过他们的 Outlook 日历与他们预约时,他似乎没有收到电子邮件通知。
我们的电子邮件系统使用带有 2012 Outlook 电子邮件客户端的 Exchange 2013 后端。
我已将该用户登录到一台新计算机,但问题仍然存在,这使我相信该问题与他的交换配置文件有关。
在 Exchange 中是否有一个设置可以禁止该用户接收包含新日历事件的电子邮件?
答案1
看一下从 Exchange 2010 迁移到 Exchange 2013 后,日历邀请未送达收件箱,但在日历中显示为暂定邀请以及其中概述的一些步骤。
解决方法:
- 我们发现重新创建用户的邮箱可以解决问题。这样,当然,它相当具有破坏性,耗费时间,并且会给最终用户带来严重干扰。
然后,我让客户获取受影响邮箱的 EventHistory 表。有关利用和访问邮箱和数据库的 EventHistory 表的更多信息,请参阅此处:
EventHistory 表本质上可以让您准确了解邮箱或数据库中正在发生的变化(发生了哪些事件)。在本例中,我们想要跟踪邮箱收到日历会议邀请时发生了什么,以及是否有东西正在删除、移动它等。
捕获 EventHistory 表后,我们能够找到邀请及其 ParentEntryId。根据上述博客,ParentryId 是该项目当前所在的文件夹。 伟大的!
我们进入了 MFCMapi (http://mfcmapi.codeplex.com/),并且能够使用 ParentEntryid 来确定消息发往何处!
原来,这些邮件会被发送到……“日程安排”文件夹。啊?
计划文件夹是邮箱中的一个文件夹,位于根目录(因此对 Outlook 和其他客户端隐藏)。它通常用于存放空闲/忙碌信息 - 但不打算将邮件发送到它。我们为什么要将邮件发送到这个文件夹?
然后我让客户收集了一条额外的跟踪信息。对于那些不知道的人来说,额外的跟踪信息是支持人员用来查看代码在高层次上正在做什么的工具。可以想象——阅读代码中的注释——它们让你知道发生了什么,但不一定知道为什么。
但在这种情况下,Extra 给了我金币。当消息被 Store Driver 放入邮箱时,我可以看到以下内容:
overridden by receive-folder table: True
在我的实验室中,以及在发送给客户环境中未受影响的用户的其他日历会议邀请中,我总是看到:
overridden by receive-folder table: False
在邮箱中,有一张表,称为接收文件夹表,它就是一个包含邮件类别以及应将邮件投递到的文件夹的表格。第三方软件开发人员可以利用这一点,以便用户不需要看到的自定义邮件类型可以通过他们的软件进行投递和接收(https://msdn.microsoft.com/en-us/library/office/cc815405.aspx)您可以在MFCMapi中看到这个表:
然后 Bingo – 就有了 IPM.SCHEDULE.MEETING 类关联:
因此,要删除 MFCMapi 中的关联:
然后:
完成此操作后,用户终于可以在收件箱中收到日历会议邀请。
所以最后 - 除了重新创建邮箱之外,我们还有一个解决方案,但没有实际的根本原因。
答案2
尽管这个话题已经存在好几年了,但对于我们来说它仍然是现实的,而且我可能找到了一个更简单的解决方案,这个解决方案对我们公司的一个用户来说很有用。
一位同事也再也没有收到邀请邮件,尽管这些约会只是作为建议写在她的日历中,但并未得到确认。
由于几个月前她放暑假,她的一位同事必须访问她的邮件帐户才能激活“自动回复”,她把密码给了他,但不知道那家伙做了什么。从那时起,她就再也没有收到预约邮件了。但不幸的是,她在几周后才意识到这一点,所以她也不知道是谁或什么导致了这个问题。
事情是这样的:她的同事进入 Outlook"File\Info\Account Settings\Delegate Access"
并输入了实习生的帐户。此外,他在下面的窗口中将“向我和...发送会议请求”配置设置为“仅向我的代表发送”。
所以我只需要消除代表,按确定,邮箱就会恢复其正常功能。