拦截 Exchange Server 和 Office365 上的邮件流量

Intercept mail traffic on Exchange Server and Office365

我收到了一个请求,要求捕获 Exchange 服务器上的所有电子邮件流量并将邮件存储到 dms/database。

经过一些调查,我得出结论,实现此类功能的最佳方法是自定义 TransportAgent。

有几个问号:

  1. MS 文档似乎相当过时,代码示例似乎也不见了。它到处都提到 Exchange 2013,不过较新的版本应该也支持它们。

  2. Office365完全不支持(Office 365是长期计划,以后还会出问题)

我的问题是,实现此类功能的最佳方式是什么?是否有任何挂钩或 API 可以让我拦截所有传入和传出的邮件(或者仅针对某个域,例如但不仅仅是每个用户帐户)?

理想情况下,是否有可在本地和云 Exchange 中重复使用的解决方案 server/Office365?

您不能在 Office365 中使用传输代理,因为它是一项共享服务,传输代理是必须安装在本地 Exchange 服务器上的 DLL。

如果您只想阅读传入和传出的电子邮件而不对其进行任何操作,您可以使用日记 https://docs.microsoft.com/en-us/exchange/security-and-compliance/journaling/journaling 然后使用 Microsoft Graph 或 EWS 访问日记邮箱中的特定邮件。

如果您想采取行动(例如阻止、重定向、修改),那么您需要设置邮件流 https://docs.microsoft.com/en-us/exchange/mail-flow-best-practices/use-connectors-to-configure-mail-flow/use-connectors-to-configure-mail-flow,然后设置您自己的网关来处理电子邮件。