【问题标题】:Subscribe to incoming mails for all users (MTA/EWS API or else?)订阅所有用户的传入邮件(MTA/EWS API 还是其他?)
【发布时间】:2016-09-20 10:30:10
【问题描述】:

我的目标是开发一个 Exchange 侦听器,它将拦截组织邮箱中的新邮件,并为每封邮件执行一些逻辑。

在我在线研究了这个主题之后 - 我发现有两种主要方法可以做到这一点:

  1. 配置一个新的 MTA(邮件传输代理),它将位于交换服务器之前并拦截 SMTP 消息。

  2. 使用 EWS API 订阅新邮件事件并在侦听器上运行登录 这样我有两个基本问题:

    • 有没有办法订阅交换服务器上的所有邮箱?没有循环所有用户?
    • 如何在我的听众处理之前阻止客户阅读他的电子邮件? (我可以将整个收到的邮件移动到用户无法访问的特殊默认文件夹 - 一些隐藏文件夹之王吗?

除了我提到的两种方法之外,还有其他方法可以满足需求吗?

谢谢!

【问题讨论】:

    标签: email smtp exchange-server exchangewebservices


    【解决方案1】:

    您可以在 Exchange https://technet.microsoft.com/en-us/library/bb125012(v=exchg.150).aspx 上使用传输代理,它允许您捕获/处理处于传输管道中的邮件。与您在 1. 中描述的内容相比,它的优势在于您可以捕获服务器上发送/接收的每条消息,包括内部消息。

    有没有办法订阅交换服务器上的所有邮箱?不循环所有用户?

    您不需要管理每个邮箱文件夹的订阅

    如何在我的听众处理之前阻止客户阅读他的电子邮件? (我可以将整个收到的邮件移动到用户无法访问的特殊默认文件夹 - 一些隐藏文件夹之王吗?

    Exchange 上的所有客户端都是平等的,因此您不能优先考虑客户端或阻止对新邮件的访问(您可以完全阻止客户端),理论上您可以使用收件箱规则将所有到达 NON_IPM_Root 文件夹的邮件移动,这意味着用户看不到它们,但您可能想考虑当您的进程失败时会发生什么,用户也可以在他们自己创建收件箱规则时随时禁用它。

    【讨论】:

    • 格伦,非常感谢!运输代理为我做这项工作:)
    猜你喜欢
    • 2020-09-07
    • 1970-01-01
    • 2020-12-19
    • 2020-05-08
    • 2021-12-14
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    相关资源
    最近更新 更多