email - 作为发件人,使用 API 或标头,是否可以检测电子邮件是否使用 Gmail 的“计划发送”发送?
问题描述
我需要的是检测是否使用 Gmail[1] 中的“计划发送”工具、通过 API 或读取电子邮件标题(在发件人端/收件箱上)发送电子邮件。
与此处完全相反的情况:作为收件人,是否可以检测电子邮件是否通过 Gmail 的“计划发送”与“发送”发送?
根据我的经验,预定的电子邮件看起来像 API 的草稿或收到的电子邮件(您的地址在“发件人”中),然后,它在发送时引发一个事件,将“SENT”标签添加到电子邮件. 有没有办法知道这些是活动前发出的电子邮件?
[1] https://support.google.com/mail/answer/9214606?co=GENIE.Platform%3DDesktop&hl=en
解决方案
问题:
默认情况下,您无法检测到这一点。消息头不包含任何与此相关的信息,并且 API 的消息资源没有任何可以澄清这一点的字段。
此外,即使Scheduled
是保留的系统标签,也无法使用该名称创建标签:
Scheduled
不是可以在 API 中找到的标签(例如通过调用users.labels.list
),因此您无法users.messages.list
根据消息是否具有此标签来过滤消息(例如使用 )。
解决方法:
- 为计划消息创建自定义标签,并将此标签应用于这些消息:
然后,您可以列出包含此标签的消息。
为此,您应该首先检索相应
labelId
的 ,您可以通过首先调用users.labels.list来获取它。然后调用users.messages.list并将前一个添加
id
到labelIds
,以便只返回带有此标签的消息:
提交功能请求:
我建议您在相应的问题跟踪器组件中提交功能请求,以便可以通过 Gmail API 以编程方式列出预定消息。
推荐阅读
- javascript - React Hook Form:提交后如何重置表单内容
- javascript - 我正在尝试制作一个可点击框的网格,其中框知道它们与哪些其他框相邻。JS/反应
- r - 使用 rlang::duplicate 克隆的 rvest 对象未正确克隆
- php - 使用 PDO 连接到本地数据库时遇到问题
- javascript - JavaScript:关于 Promise 的 resolve 回调的混淆,它解决了另一个 Promise
- sql - 'With' 语句 SQL 查询的问题
- angular - 将数组绑定到`datetime-local`?
- amazon-web-services - 如何使用 Amazon Cloudfront 作为仅图像 CDN
- android - 没有mediaprojection的android中的屏幕记录
- javascript - 当从子组件更改父组件的状态时,setState 函数变为未定义