首页 > 解决方案 > 谷歌应用程序脚本可以识别带有“+”标签的电子邮件吗?

问题描述

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

标签: google-apps-scriptgmail

解决方案


您可以将正则表达式与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
}

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

这个怎么运作

它使用本机 JavaScriptstring.match()来查看消息发件人地址中是否包含 a +

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

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

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

参考


推荐阅读