我在Google Docs电子表格中有几个脚本,这些脚本使用MailApp.sendEmail发送包含电子表格数据的电子邮件。多年来,他们都做得非常好。大约两周前,他们停止发送电子邮件。脚本仍然运行,我没有任何错误。电子邮件永远不会通过。没有任何改变,只是电子邮件不再到达。
有什么想法吗?
谢谢!
答案 0 :(得分:7)
我想我对自己的问题有一个答案,这对任何有此问题的人都有帮助。事实上,MailApp.sendEmail似乎仍然有效。改变的是Gmail处理某些类型的邮件的方式。
如果我使用MailApp.sendEmail向第三方发送电子邮件,它就会通过,没问题。正如Fashtas所指出的,如果我使用MailApp.sendEmail向电子表格所属的Gmail帐户发送电子邮件,那就没问题了。
问题在于:如果我使用MailApp.sendEmail将邮件发送到第三方帐户,该帐户会自动转发回电子表格所属的Gmail帐户,则这些邮件将无法通过。
因此,在上面发布的示例代码中,matt @ .com电子邮件地址会自动转发回我的Gmail帐户。 MailApp.sendEmail发送的邮件会通过 .com邮件服务器,但出于某种原因,它们不会转发回我的Gmail收件箱。它们出现在Gmail已发送邮件文件夹中(可能是因为它们是由电子表格所属的Gmail帐户发送的),但它们从未进入收件箱。
这种行为是新的。过去,这些邮件从 * .com服务器转发到我的Gmail收件箱时没有任何问题。我不知道是什么改变导致了这个问题。我不知道如何解决它。
但是,我认为我的问题的答案是MailApp.sendEmail正在按设计工作。
答案 1 :(得分:3)
正如doebtown所解释的那样,mailApp.sendEmail()
会拒绝向任何转发到您帐户的地址发送消息。例如,如果您(电子表格的所有者)属于您组织内的 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
});
邮件将不会传递给 people@myorg.com 。也就是说,以下代码不会发送:
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
});
但是,您可以通过将电子邮件附加到地址来解决此问题。
localStorage.setItem('windowscrolltop',$(window).scrollTop());
此电子邮件将发送到您的地址以及您所属的列表。这不是一个完美的解决方案,但如果您不想创建用于管理脚本的特定帐户,则可行。
答案 2 :(得分:2)
您显然只能向电子表格所属的Gmail /电子邮件帐户发送电子邮件。
答案 3 :(得分:0)