GmailApp.sendEmail'from'选项停止工作

时间:2016-11-11 15:50:04

标签: google-apps-script gmail-api google-spreadsheet-api

截至昨天,2016年11月10日,我的Google脚本停止使用以下错误消息:

  

无效参数:info@mydomain.ch(第168行,文件“代码”)

有问题的行看起来像这样:

GmailApp.sendEmail("someone@theirdomain.com",
  "Subject title",
            "", {
            from: "mrbob@mydomain.com",
            name: "Mr. Bob",
            htmlBody:
                "Hello, <br><br> Bla blah blah... <br> Cheers,<br> Mr. Bob" 
});

我的电子邮件地址(mrbob@mydomain.com)设置为在我的Gmail帐户中“发送邮件”。它不是别名。我的代码中的函数在过去的一年中运行良好,所以我不知道为什么它突然停止了。任何想法和解决方案? 从起始地址而不是我的Gmail地址非常重要。

3 个答案:

答案 0 :(得分:1)

Google最近对MailApp / GmailApp服务进行了一些更改,现在您只能从设置为&#34;别名&#34;的帐户发送电子邮件。在您的主Gmail帐户中。

转到Gmail - &gt;设置 - &gt;帐户并确保&#34;设置为别名&#34;是根据您用于在Google Script中发送电子邮件的电子邮件地址编写的。

答案 1 :(得分:0)

尝试使用“运行”或“调试”菜单项从编辑器运行代码。我最近有一些脚本需要我重新接受权限。我没有调查它是否需要额外的访问权限。

我的电子邮件正在发送:

MailApp.sendEmail({
     to: sendToEmailAddress,
     bcc: emailAddressCC,
     replyTo: emailAddressReplyTo,
     name: emailFromName,
     subject: emailSubjectText,
     body: emailText,
     htmlBody: emailHTMLBody
   });

您可以试试MailApp class吗?从文档页面:

  

此服务允许用户发送完全控制的电子邮件   电子邮件的内容。与GmailApp不同,MailApp的唯一目的是   发送邮件。 MailApp无法访问用户的Gmail收件箱。

     

使用GmailApp编写的脚本更改更有可能触发   来自用户的重新授权请求而不是MailApp脚本。

答案 2 :(得分:0)

截至今日(2017年6月)Karl_S回应的反面对我有用。我使用的是MailApp.sendmail(...)

我改为

GmailApp.sendmail('to@email.com', 'subject', 'message', {'from':'aliasinmyGmailaccount@otherdomain.com'})

并且有效。

这是当前的文档:

https://developers.google.com/apps-script/reference/gmail/gmail-app#sendEmail(String,String,String,Object)