【问题标题】:Reply mail to multi address using Google App Script使用 Google App Script 将邮件回复到多个地址
【发布时间】:2019-09-30 14:13:09
【问题描述】:

我有电子邮件地址“a@gmail.com”发送邮件到电子邮件地址“b@gmail.com”。 我想回复邮件到电子邮件地址“a@gmail”并添加更多电子邮件地址“c@gmail.com”。我阅读了谷歌文档并遵循但它没有用。只是收到了电子邮件地址“a@gmail.com”,电子邮件地址“c@gmail.com”没有收到邮件。我不知道我错在哪里???感谢您的关注!

function replyToMutiAddress(){

  var thread = GmailApp.getThreadById("16dxxxxxxba6");
  var mgs = thread.getMessages()[0];
  var option = {    
      replyTo: "a@gmail.com,c@gmail.com",
      cc: "",
      bcc: "",
      htmlBody: "b@gmail.com reply mail to a@gmail.com and add c@gmail.com"
  }
  mgs.reply("",option);

}

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    这个答案怎么样?

    The official document of Sending Email 如下。

    如果您正在尝试发送回复并希望将电子邮件串起来,请确保:

    1. 主题标头匹配
    2. References 和 In-Reply-To 标头遵循 RFC 2822 标准。

    对于上述情况,电子邮件是使用 Gmail API 回复的。在运行脚本之前,请在 Advanced Google services 启用 Gmail API。

    示例脚本:

    function replyToMutiAdress(){
      var body = "sample body";
      var additionalEmailAddress = "c@gmail.com";
      var thread = GmailApp.getThreadById("16dxxxxxxba6");
      var mgs = thread.getMessages()[0];
      var message = Gmail.Users.Messages.get("me", mgs.getId());
      var head = 'Content-Type: text/plain; charset="UTF-8"\r\nMIME-Version: 1.0\r\nContent-Transfer-Encoding: 7bit\r\n';
      var data = message.payload.headers.reduce(function(s, e) {
        if (e.name.toUpperCase() == "MESSAGE-ID") {
          s += "References: " + e.value + "\r\nIn-Reply-To: " + e.value + "\r\n";
        } else if (e.name == "Subject") {
          s += e.name + ": " + e.value + "\r\n";
        } else if (e.name == "From") {
          s += "To: " + e.value + "," + additionalEmailAddress + "\r\n";
        } else if (e.name == "To") {
          s += "From: " + e.value + "\r\n";
        }
        return s;
      }, head);
      data += "\r\n" + body;
      var res = Gmail.Users.Messages.send({raw: Utilities.base64EncodeWebSafe(data)}, "me");
    }
    
    • 在此示例脚本中,ReferencesIn-Reply-To 包含在标头中。
    • c@gmail.com 添加为附加电子邮件地址。

    参考资料:

    【讨论】:

    • 感谢@Tanaike,但我不想使用 cc c@gmail.com,如果我发送到 c@gmail.com,这封邮件不在线程 (ThreadID) 中。还有其他方法吗?因为回复邮件时网络中的gmail邮箱可能会添加更多电子邮件地址,所以我认为有一种我们不知道的方法^^
    • @Naoa Lee 感谢您的回复。我带来的不便表示歉意。我更新了我的答案。你能确认一下吗?一封电子邮件从a@gmail.com 发送到b@gmail.com。而当回复邮件从b@gmail.com 发送到a@gmail.com 时,您要添加c@gmail.com 的电子邮件地址。在修改后的脚本中,使用 Gmail API 实现。但我不确定这是否是你想要的目标。如果这不是您想要的方向,我再次道歉。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 2023-04-05
    • 2017-10-17
    • 2014-01-12
    • 1970-01-01
    相关资源
    最近更新 更多