使用脚本在 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 问题变量通过正确的值。

解决方法

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 + '"' 究竟是什么样子。