使用脚本在 Gmail 主题行中搜索单元格值,然后转发电子邮件

Using script to search Gmail subject line for a cells value, then forward email

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

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

目前我正在尝试通过参考号 + 常量使用内置的 Gmail 搜索,参考号存储在 google 工作表单元格中,然后我在脚本中标记了“常量” .

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

目前我尝试使用的代码是

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”,returns 转发了 1 个结果,这引导了我的思考过程拉取正确值的 REF 变量存在问题。

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

参考:

只是猜测。试试这个:

var threads = GmailApp.search('subject:' + REF + CONSTANT)

(我想 CONSTANT 是一个变量)


看。假设这可行:

var threads = GmailApp.search('subject:"123 - Abcd"');

这意味着这也应该有效:

var REF = 123;
var CONSTANT = " - Abcd";
var threads = GmailApp.search('subject:"' + REF + CONSTANT + '"');

根本没有什么可以打破的。

查看 Logger.log() 您的变量 REFCONSTANT 和组合 'subject:"' + REF + CONSTANT + '"' 的具体情况。