2

我正在构建一个 CRM,它通过处理发送到使用 Microsoft Graph API 的用户的 Office365 帐户的电子邮件来处理应用程序中的电子邮件交换。跟踪实际邮箱中的电子邮件的最佳做法是什么?我应该使用增量还是订阅?

据我所知,Delta 是提供有关邮箱当前状态的数据的 URL,但需要定期触发 deltas(我会使用 CRON 作业),但我会经常运行该过程超过需要,因为用户每天不会收到那么多电子邮件。

或者,如果我使用订阅会在收到新电子邮件时通知我,并且我可以在我的应用程序中使用 webhook 进行处理。

Microsoft Graph 文档看来,deltas 似乎是跟踪更改的方式,但我觉得因为我只需要知道何时收到新电子邮件以便对其进行相应处理,因此从某种意义上说,delta's 将是矫枉过正.

4

1 回答 1

2

您使用两者的组合。

webhook 告诉你邮箱发生了变化,delta 告诉你邮箱发生了什么变化。当您收到通知时,您拉取增量以检索对邮箱的更改。

这样做的原因有很多,但主要原因是id电子邮件的名称可能会改变。这是因为消息 ID 是一个复合值,其中包括存储它的文件夹。因此,如果消息被移动,您在通知中收到的 Id 将无效。从历史上看,这在某种程度上是一种罕见的竞争条件,但随着交互式移动通知的出现,现在电子邮件进入并立即被“归档”是司空见惯的。通过依赖 webhook 的通知和内容的增量,您可以避免 CRON 作业,同时在处理消息之前缓解 Id 更改。

于 2019-06-18T14:37:12.030 回答