Gmail自动回复正文

时间:2018-01-08 23:45:25

标签: email gmail response

我在这里得到了这个代码,效果很好! 只有一个问题,我如何修改它以便我可以在我的回复消息中回复并保留原始消息(传入电子邮件的正文,未更改)?所以人们可以看到他们在原始信息中所写的内容,而不仅仅是我的回复。就像我转发他们传入的消息并将我的回复添加到顶部。

我的代码:

function RespondEmail(e) {

  // set response mail
  var responsebody = "MY TEXT";

  //send response email
  var threads = GmailApp.search("to:(my@gmail.com) label:unread");
  for (var i = 0; i < threads.length; i++) {
    threads[i].reply("", {htmlBody: responsebody, from: "my@gmail.com"});}

  // mark all as read
  var threads = GmailApp.search("to:(my@gmail.com) label:unread");
  GmailApp.markThreadsRead(threads);
}

效果很好,但如何将原始传入的电子邮件添加到响应主体?

适用于script.google.com上的Gmail脚本

感谢!!!

1 个答案:

答案 0 :(得分:0)

这次修改怎么样?

修改要点:

  • 使用getBody()从搜索到的邮件中检索原始邮件。
    • 如果您要发送短信,请使用getPlainBody()代替getBody()
  • 将检索到的原始邮件添加到responsebody

修改后的脚本:

请修改如下。

来自:

for (var i = 0; i < threads.length; i++) {
  threads[i].reply("", {htmlBody: responsebody, from: "my@gmail.com"});
}

致:

for (var i = 0; i < threads.length; i++) {
  var msg = threads[i].getMessages();
  var reply = responsebody + "\n\n" + msg[msg.length - 1].getBody();
  threads[i].reply("", {htmlBody: reply, from: "my@gmail.com"});
}

注意:

  • 在此修改后的脚本中,最新消息用作原始消息。
    • 如果要使用该主题中的所有消息,请按以下方式修改。
      • msg[msg.length - 1].getBody()msg.map(function(e){return e.getBody()}).reverse().join("\n\n")
  • 在此修改过的脚本中,它使用"\n\n"responsebody和原始邮件之间。
    • 请根据您的具体情况进行修改。

参考:

如果我误解了你的问题,我很抱歉。