如何使用replyAll()的replyTo选项参数?

时间:2019-06-07 07:10:42

标签: google-apps-script gmail

场景

  • 创建一个脚本,该脚本可以根据用户在Google电子表格中的选择发送电子邮件。

  • 当用户要在一天中第一次发送电子邮件时,必须发送新的电子邮件。

  • 如果要再次发送邮件,请检查主题行(如果已存在),则必须replyAll到该电子邮件。

尝试输入的代码

if (threads[0]) {
  threads[0].replyAll(emailBody, {
    // 'replyTo': emailAddress, (Removed due to issue with Gmail)
    'cc': emailAddressCC,
    'bcc': emailAddressBCC,
    'htmlBody': emailBody
    });
} else {
  MailApp.sendEmail(emailAddress, subject, emailBody, {
  // 'replyTo': emailAddress, 
  'cc': emailAddressCC,
  'bcc': emailAddressBCC,
  'htmlBody': emailBody
}

链接到完整脚本:GitHub

  • 此脚本创建菜单onOpen“发送邮件”。

  • 因此,当用户从工作表中选择某个区域并单击“发送邮件”按钮时,它将调用funShowAlert()并发送电子邮件。

问题

  • 当我尝试将收件人的电子邮件添加到replyTo时,gmail将返回错误。
  

问题:是否可以在不使用replyAll选项参数的情况下使用replyTo,我对replyTo做错了吗?

1 个答案:

答案 0 :(得分:4)

  

replyTo我做错了什么?

是的

仔细阅读the documentation

  

使用发件人地址回复发件人

此处的“回复地址”是指您要回复的电子邮件中的回复地址。很明显,这不是replyTo选项参数,因为紧随其后的示例中没有传递此类参数。

在下一项中定义

replyTo作为参数选项:

  

用作默认回复地址的电子邮件地址(默认:用户的电子邮件地址)

“用户”是脚本运行所使用的用户。这意味着replyTo选项应该是您希望收件人回复的地址。通常,通过Gmail的Web UI发送邮件时,该帐户必须是与该帐户相关联的Gmail Alias;尽管使用Apps Script进行的一些测试表明情况并非一定如此。

您的代码只要删除了ReplyTo就足够了。