Gmail 的应用程序脚本 - 搜索确切的主题

Posted

技术标签:

【中文标题】Gmail 的应用程序脚本 - 搜索确切的主题【英文标题】:Apps script for Gmail - search for exact subject 【发布时间】:2017-05-25 07:38:12 【问题描述】:

我每天都会收到多封自动电子邮件。一个主题为“每日报告”,一个主题为“每日报告详细信息”。这是我正在使用的脚本,但是一旦电子邮件开始没有按时间顺序发送,我有时会抓错一个。

 var threads = GmailApp.search('Daily Report') //search gmail with the given query(partial name using * as a wildcard to find anything in the current subject name).
 var msgs = GmailApp.getMessagesForThreads(threads);

有没有一种方法可以告诉搜索我想要具有确切主题“每日报告”而不是“每日报告详细信息”的邮件?

谢谢

【问题讨论】:

正如documentation 所指出的,查询字段是“搜索查询,就像您将其输入到 Gmail 中一样”,所以我认为您不能仅通过搜索选择正确的方法。否则,您可以查看您收集的 GmailThread[],将 GmailMessage.getSubject() 与您要查找的主题进行比较。 我认为您可以添加-Details 以获取不详细信息的每日报告。 【参考方案1】:

就像@Pierre-Marie Richard 和@Cooper 提到的,您可以使用内置的 Gmail 搜索功能。这是Gmail Search Functions 的列表,就像@Cooper 提到的,你最好使用类似的东西:

var threads = GmailApp.search('subject:"Daily Report"-Details')
var msgs = GmailApp.getMessagesForThreads(threads);

引号 ("") 用作完全匹配,减号 ('-') 用于排除单词。 如果这仍然不起作用,请告诉我,我会进一步研究。

祝你好运:)

【讨论】:

以上是关于Gmail 的应用程序脚本 - 搜索确切的主题的主要内容,如果未能解决你的问题,请参考以下文章

如何创建仅在主题行开头搜索文本的 Gmail 过滤器?

配置 Gmail 帐户以向主题发送邮箱更新通知

在 Gmail 应用程序脚本中提取原始邮件

在 GAS/Javascript 中保存带有特定主题行的 Gmail 附件

Gmail /Google 应用程序每小时/每天自动使用脚本/api 永久删除垃圾邮件

使用Google应用脚本从PDF到文本转换获取文本