Google脚本mailapp.sendEmail仅适用于我的电子邮件地址

时间:2013-03-29 04:20:09

标签: google-apps-script google-sheets

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

当我使用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'});
}

3 个答案:

答案 0 :(得分:1)

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

由于无法将电子邮件发送给没有Google帐户的收件人,因此我在“抄送”字段中添加了此类电子邮件。

// 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"});
}

答案 1 :(得分:0)

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

似乎Google最近更改了(虽然我没有找到任何我发现的)MailApp.sendEmail功能,因此只有在您使用属于电子表格所有者的电子邮件地址时才能使用。

我猜这是为了防止系统被用于未经请求的群发电子邮件。

另一个问题是here

(对不起,不是这样的答案:(更多关于你所看到的内容的确认似乎与预期一样)

答案 2 :(得分:-1)

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

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

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