4

好吧,这很奇怪。我在电子表格中编写了脚本以从当前活动的工作表中获取信息,使用模板文件创建报告并将其作为附件发送。

当我使用我的 Google Apps 域帐户电子邮件地址作为收件人时,这一切都完美无缺。当我发送到我自己以外的任何其他电子邮件地址时,它不起作用。昨天还在工作。脚本运行时没有产生错误

我唯一做的就是将电子表格的所有者更改为我们域中的另一个用户。在我测试脚本时,它与其他用户共享。我尝试使用我们域中的其他电子邮件地址,并使用 sendemail 功能创建了一个新电子表格,所有这些都具有相同的行为。

// Email the specified report
function emailReport(file, recipients, emailSubject, emailMessage) {
 MailApp.sendEmail("someone@example.com", emailSubject, emailMessage, 
              {attachments: file, mimetype: 'application/pdf'});
}
4

3 回答 3

1

我已经能够重现该问题并找到解决方法。

由于无法向没有 google 帐户的收件人发送电子邮件,因此我在 cc 字段中添加了此类电子邮件。

// Email the specified report as cc
function emailReport(file, recipients, emailSubject, emailMessage) {
 MailApp.sendEmail("my@gmail.com", emailSubject, emailMessage, 
              {attachments: file, mimetype: 'application/pdf', cc:"someone@example.com"});
}
于 2019-02-20T14:02:55.960 回答
0

不久前我注意到了这个问题,甚至在另一个问题中引用了它。从那以后我注意到没有人回复你所以...

似乎 Google 最近更改了 MailApp.sendEmail 函数(尽管在我发现的任何地方都没有记录),因此它仅在您使用属于电子表格所有者的电子邮件地址时才有效。

我的猜测是这是为了防止系统被用于不请自来的群发电子邮件。

另一个问题在这里

(对不起,不是这样的答案:(更多地确认您所看到的似乎是预期的)

于 2013-07-05T01:52:33.937 回答
-1

对于遇到此问题的任何人,请使用 GmailApp 类而不是 MailApp 类。

它支持相同的功能,例如:GmailApp.sendMail('recipient@gmail.com', 'Subject', 'Message').

https://developers.google.com/apps-script/reference/gmail/gmail-app#sendEmail(字符串,字符串,字符串)

于 2018-11-16T15:34:08.597 回答