谷歌应用程序脚本可以识别带有“+”标签的电子邮件吗?

时间:2021-02-16 21:55:46

标签: google-apps-script gmail

谷歌应用程序脚本是否允许处理地址中带有“+”标记/扩展名的特定 gmail 地址?我有一个脚本来获取图形附件并将它们移动到驱动器文件夹中,并希望将其集中到特定标签。

1 个答案:

答案 0 :(得分:0)

您可以将正则表达式与 match 一起使用

使用此示例函数:

function getPlusMails() {
  // get all inbox threads
  let threads = GmailApp.getInboxThreads()
  
  // initializing the output array
  let messagesFromPlus = []

  // for each thread in inbov
  let messages = threads.forEach(t => {
    // get the messages
    let _messages = t.getMessages()
    // for each message in thread
    _messages = _messages.forEach(m => {
      // check if sender has + in address, if so, add to output array
      if (m.getFrom().match(/\+/)) messagesFromPlus.push(m)
    })
  })

  return messagesFromPlus
}

您可以获得发件人地址中包含 + 的所有邮件的列表。

工作原理

它使用原生 JavaScript string.match() 来查看消息发送者地址中是否包含 +

if ( message.getFrom().match(/\+/) )

如果存在 true 则返回 +,否则返回 false。在上面的函数中,收件箱中的所有线程都被查询,尽管您可以根据需要通过搜索查询来缩小范围。然后检查每个线程中的每条消息。如果发件人地址包含 +,则将其附加到列表 messagesFromPlus 中。

您可以从另一个函数调用它,然后通过每条消息执行您需要对它们执行的操作。

参考资料