首页 > 解决方案 > 使用脚本在 Gmail 主题行中搜索单元格值,然后转发电子邮件

问题描述

我正在尝试做的是使用一些脚本来自动定位然后转发到特定的电子邮件,而不必切换到 Gmail 手动转发它,但是我不能使用 Gmail 内置的自动转发,因为只有某些电子邮件需要发送,在主题字段中也有多个具有相同参考号的电子邮件,除非我添加常量然后只有一个,

电子邮件主题以以下格式发送给我,唯一的参考号后跟连字符,然后是常量(123456 - 常量),

目前我正在尝试通过参考号+常量使用内置的Gmail搜索,参考号存储在谷歌表格单元格中,然后我一直在脚本中标记“常量”。

然而,尽管使用了“”,我的理解是完全匹配,但这是转发具有不同参考号的多个条目,

目前我尝试使用的代码是

function Search2() {

  var sheet   = SpreadsheetApp.getActiveSheet(); //gets sheet
  var row     = 1;
  var col     = 8;
  var REF = sheet.getRange(row, col).getValue(); //gets value of the unique reference number

  var threads = GmailApp.search('subject:"REF"+"CONSTANT"') //adds in the constant for the search
  for (var h = 0; h < threads.length; h++) {
    var messages = threads[h].getMessages();
    for (var i = 0; i < messages.length; i++) {
              Logger.log(messages[i].getSubject());
                messages[i].forward("EMAIL ADDRESS", {
          cc: "",
          bcc: ""
          });     
      
  }
}
}

我目前的想法是,当我将引用和常量组合在一起时,一定有一些东西不能正常工作,导致它不寻找精确匹配并返回最接近的匹配。

任何援助将不胜感激,

更新 30/07/2021 @ 18:46 - 我做了一些测试,直接用参考号替换“REF”并返回 1 个转发的结果,这导致我的思考过程存在 REF 变量的问题正确的值。

标签: google-apps-scriptgoogle-sheetsgmail

解决方案


GmailApp.search(`subject:"${REF}" subject:"CONSTANT"`);
GmailApp.search(`subject:"${REF} CONSTANT"`);

参考:


推荐阅读