Google apps script MailApp.sendEmail不工作?

Google apps script MailApp.sendEmail不工作?,google-apps-script,google-docs,Google Apps Script,Google Docs,我在Google Docs电子表格中有几个脚本,它们使用MailApp.sendmail发送包含电子表格数据的电子邮件。这些年来他们都干得很出色。大约两周前,他们停止发送电子邮件。脚本仍在运行,我没有收到任何错误。这些电子邮件永远也发不过来。没有任何变化,只是电子邮件不再到达 有什么想法吗 谢谢 显然,您只能向电子表格所属的gmail/电子邮件帐户发送电子邮件。我想我对自己的问题有一个答案,这可能对其他有此问题的人有所帮助。的确,MailApp.sendEmail似乎仍在工作。改变的是Gmail

我在Google Docs电子表格中有几个脚本,它们使用MailApp.sendmail发送包含电子表格数据的电子邮件。这些年来他们都干得很出色。大约两周前,他们停止发送电子邮件。脚本仍在运行,我没有收到任何错误。这些电子邮件永远也发不过来。没有任何变化,只是电子邮件不再到达

有什么想法吗


谢谢

显然,您只能向电子表格所属的gmail/电子邮件帐户发送电子邮件。

我想我对自己的问题有一个答案,这可能对其他有此问题的人有所帮助。的确,MailApp.sendEmail似乎仍在工作。改变的是Gmail处理某些类型邮件的方式

如果我使用MailApp.sendmail向第三方发送电子邮件,它会通过,没有问题。正如Fashtas所指出的,如果我使用MailApp.sendmail向电子表格所属的Gmail帐户发送电子邮件,没有问题

问题是:如果我使用MailApp.sendmail将邮件发送到第三方帐户,该帐户会自动转发回电子表格所属的Gmail帐户,那么这些邮件将无法通过

因此,在我上面发布的示例代码中,matt@.com电子邮件地址会自动转发回我的Gmail帐户。通过MailApp.sendEmail发送的邮件可以传送到.com邮件服务器,但由于某些原因,它们无法转发回我的Gmail收件箱。它们出现在Gmail Sent Items文件夹中(可能是因为它们是由电子表格所属的Gmail帐户发送的),但它们从未进入收件箱

这种行为是新的。过去,这些邮件从*.com服务器转发到我的Gmail收件箱没有问题。我不知道是什么变化导致了这个问题。我也不知道如何修复它


但是,因此,我认为我的问题的答案是MailApp.sendEmail正在按设计工作。

正如doebtown所解释的,
MailApp.sendEmail()
将拒绝向任何转发到您帐户的地址发送邮件。例如,如果您(电子表格的所有者)属于某个组,people@myorg.com,则在您的组织内,
mailApp.sendmail()
邮件将不会发送到people@myorg.com. 也就是说,以下代码不会发送:

var email = 'people@myorg.com';

var subject = 'The Week Ahead';

var body = 'Hi there!';

var htmlbody = "<p>Hi there!</p>";

// this will not send
MailApp.sendEmail(email, subject, body,{
  htmlBody : htmlbody
});
var电子邮件=”people@myorg.com';
var主题=‘未来一周’;
变量body=‘你好!’;
var htmlbody=“你好!

”; //这将不会发送 MailApp.sendEmail(电子邮件、主题、正文、{ htmlBody:htmlBody });
但是,您可以通过将电子邮件附加到地址来解决此问题

var email = 'myaddress@myorg.com, people@myorg.com';

var subject = 'The Week Ahead';

var body = 'Hi there!';

var htmlbody = "<p>Hi there!</p>";

// this will send to your address and the full list
MailApp.sendEmail(email, subject, body,{
  htmlBody : htmlbody
});
var电子邮件=”myaddress@myorg.com, people@myorg.com';
var主题=‘未来一周’;
变量body=‘你好!’;
var htmlbody=“你好!

”; //这将发送到您的地址和完整列表 MailApp.sendEmail(电子邮件、主题、正文、{ htmlBody:htmlBody });

此电子邮件将发送到您的地址以及您所属的列表。这不是一个完美的解决方案,但如果您不想创建一个管理脚本的特定帐户,这是可行的。

通过谷歌应用程序脚本发送电子邮件有多种方法

  • MailApp:传统的方法,但我无法发送一封电子邮件。介绍课程

  • GmailApp:与MailApp相同的方法,但是使用下面的代码可以发送电子邮件

    sendmail(emailList[index],“新邮件”,“新邮件”,“抄送”:XXXXXXX@gmail.com"});

  • 通过服务向Gmail API添加一个新的应用程序。未探讨此选项,但可以找到文档


结论:不要使用MailApp,而是使用GmailApp。

我的意思是,我只是尝试了最基本的调试脚本:function myFunction(){MailApp.sendmail(“matt@*********.com”,“test”,“test”)},但它也不起作用。谷歌有人确认过这一点吗?我们正在尝试从谷歌电子表格脚本发送电子邮件,但它不起作用…什么?从什么时候开始?!你能给我指出一些关于这个问题的文档吗?没有文档,但是我测试了它,我的gmail地址是唯一有效的,stackoverflow上有这样一条消息:()嗯。你认为那是一只虫子?或者他们改变了功能以避免垃圾邮件或类似的东西?这一定是个bug。我有一个剧本也很糟糕。它实际上会在不应该的时候发送邮件给我。非常奇怪的事情。啊,真烦人。我有一张很大的表格,上面写着我们的学生管理部门,偶尔会给学生发一些关于他们项目的提醒。然而,碰巧的是,我们的大多数学生都将这些帐户转到了gmail帐户。我想知道为什么我从来没有收到回复…你所有的电子邮件都有可能真的通过了!检查列表中除您自己的收件箱以外的其他收件箱。正常行为,当发送到一个列表时,你自己就是其中的一部分(在gmail上,即。team@comany.io)因为你是那封电子邮件的作者,所以你不会得到一份副本。旧的脚本行为可能被窃听,而固定版本,因为它以脚本所有者(您的帐户)的身份发送邮件,实际上正在按预期工作。因此,在列表后附加您自己的电子邮件应该是可接受的答案(如果您希望向自己发送副本)。明天可以在工作中验证这个理论。GmailApp和MailApp都有类似的问题。不同的是,通过MailApp,它有时甚至不发送到我自己的电子邮件,而通过GmailApp,它发送到我自己的电子邮件,但并不总是发送到其他gmail帐户。如何解决?这是非常令人沮丧的。我与我的银行有类似的问题。有人能确认这确实会向列表发送电子邮件(以及列表中的电子邮件)以及您自己的电子邮件吗?我是我的目标名单中的一员,而且我只是格蒂