首页 > 解决方案 > LogicApps outlook.com 连接器 GetEmails 触发器 - 获取最旧的电子邮件

问题描述

我正在尝试从 LogicApp 中的 outlook.com 邮箱中获取最旧的电子邮件。我已经完成了许多测试,似乎两个触发器都可用GetEmails,并且GetEmails(2)总是从最新消息开始。

我的用例:处理后的电子邮件被移动到Processed文件夹并应在那里存储一个月。因此,我正在寻找一种方法来获取 x 数量的最旧电子邮件列表,以检查它们是否超过 30 天,如果满足条件则将其删除。

使用当前功能,我必须从文件夹中获取所有电子邮件,在 30 天的时间段内可能有几千封。这会在 outlook.com 以及 LogicApp 中创建不必要的工作负载。此外,恐怕我会达到此连接器的阈值。

有没有办法从最旧的电子邮件开始获取 x 数量的电子邮件?

标签: azureazure-logic-apps

解决方案


如果您想在 Outlook 邮箱的文件夹中获取前 X 最旧的电子邮件,您可以使用 Microsoft Graph API by Http 操作在 Logic App 中直接获取您想要的电子邮件。

例如,如果我想获取Processed文件夹中最旧的 5 封电子邮件,请使用以下 API:

GET https://graph.microsoft.com/v1.0/users/<username>/mailFolders('Processed')/messages?$orderby=receivedDateTime&$top=5

在逻辑应用程序中:

在此处输入图像描述

我已经在我身边进行了测试,它对我来说非常有效。

Microsoft Graph Outlook 邮件 API 的详细信息请参见此处

以及如何自定义 API 的响应

Auth for Microsoft Graph API

如果您有任何进一步的疑虑,请随时告诉我。


推荐阅读