【问题标题】:Accessing email content in outlook web addin在 Outlook Web 插件中访问电子邮件内容
【发布时间】:2017-06-01 22:57:25
【问题描述】:

我正在编写一个需要 MIME 格式的电子邮件内容的插件。现在我使用ewsurl()getCallBackTokenAsync()Office.context.mailbox.itemId api 来找出EWS url、访问令牌、消息ID 并通过Ajax 将其发送到我的后端。我的后端向 EWS 发送 SOAP 请求并下载电子邮件。这种方法正确吗?

我主要担心的是,如果 EWS 端点看到太多请求来自同一台机器,是否会出现任何限制。例如,一个组织中的多个用户(比如几百个)可以同时使用加载项。在这种情况下,加载项后端可以向 EWS 发送多个并发请求。如果 EWS 看到来自同一个加载项/同一个后端机器的请求过多,它会实施一些限制

还有其他方法吗?

【问题讨论】:

    标签: outlook-addin office-js outlook-web-addins


    【解决方案1】:

    这是目前唯一的方法。 Office.js 和 Graph 都不支持获取原始电子邮件。鉴于加载项在单个电子邮件的上下文中运行,我无法想象这会导致每秒最多调用几次,因此我不会太在意限制。

    【讨论】:

    • 谢谢马克。为了进一步澄清我的问题,如果一个组织中的多个用户(比如几百个)同时使用加载项。在这种情况下,加载项后端可以向 EWS 发送多个并发请求。如果 EWS 看到来自同一加载项/同一后端计算机的请求过多,它会实施一些限制吗?
    【解决方案2】:

    我正在编写一个需要 MIME 格式的电子邮件内容的插件。

    您将无法获得原始 MIME 消息。 Exchange 不存储 MIME 内容。您可能会获得由 Exchange 即时完成的 MIME 内容,而且这种转换成本很高。重新筛选的 MIME 消息与 Exchange 收到的原始 MIME 无关,何必呢?您可以通过 EWS 请求获得的最大值是原始邮件标头 (PR_TRANSPORT_MESSAGE_HEADERS),而不是整个原始 MIME 邮件。

    限制:如果您使用来自客户端 (makeEwsRequestAsync ) 的 EWS 请求,您将被限制为 3 个异步调用和 1 Mb 的响应。如果您从您的服务器执行此操作,您将能够绕过这些限制。更多信息:Limits for activation and JavaScript API for Outlook add-ins

    【讨论】:

    • 感谢 Slava 提供的链接。那很有用。 “MIME 格式的电子邮件内容”是指我们响应 GetItem EWS 调用而获得的 部分的值。
    • @BalakrishnanRajkumar 我已经修改了我的答案以澄清我的观点。我指的是通过互联网传播的“原始 MIME”。无法检索此原始 MIME,因为 Exchange 不保留它。相反,根据您的请求,您将收到由 Exchange MIME 生成的内容,这与原始 MIME 无关。它将/可能使用不同的编码、边界等。这被认为是昂贵的交换操作。
    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 2013-03-14
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多