我正在研究一个Google网络应用,该应用会在某些触发器上发送电子邮件。
该应用程序已部署为Execute the app as: Me(me@gmail.com)
。
但是,无论何时通过其他用户发送邮件,它总是从me@gmail.com
发送。
这是函数:-
var subj = "Leave Request From: "+ user.replace(/@google.com/g, "")+ " ["+result[i][1]+" - "+result[i][2]+"]";
var threads = GmailApp.search('\'subject:'+subj+"\'");
threads[0].replyAll("", {
htmlBody: "Hello "+user.replace(/@google.com/g, "")+", <br><br>"+response +'<br><br>Regards,<br>'+email});
有没有一种方法可以通过实际的活动用户而不是我来发送邮件。有什么功能可以做到这一点?
我找到了一条信息,但不确定是否可以在Web应用程序中实现。
答案 0 :(得分:3)
免费/消费者Google帐户无法发送来自其他帐户的电子邮件。 GMail可以将发送“ FROM”的电子邮件发送到与运行该代码的帐户不同的帐户的唯一方法是,在GSuite帐户中设置别名电子邮件,然后将“ FROM”的电子邮件发送给别名帐户。但是即使这样,也可以显示默认电子邮件地址。因此,如果目标是隐藏运行该代码的帐户的默认电子邮件地址,那么就没有绝对的方法。
您的Web应用程序用户需要拥有一个GSuite帐户,或者一个付费的Google帐户,该帐户必须允许发送来自别名的电子邮件。然后,您的Web应用程序用户需要登录到其帐户,并且需要将您的Web应用程序配置为以访问该Web应用程序的用户身份“按”身份运行。
因此,要发送一封来自“ FROM”不同于默认地址的电子邮件地址的电子邮件,必须满足多个条件。
此外,用户将需要授权代码才能像从其帐户中运行一样运行,并且该代码将需要具有广泛的访问权限才能在其GMail帐户中进行设置。这是一个很大的问题,因为您的Web应用程序将能够删除其所有电子邮件,阅读其所有电子邮件并在其Gmail帐户中进行设置。这被认为是非常大的安全风险。因此,您的Web应用将被视为安全隐患,可能会对用户的帐户造成很多不良影响。
如果您希望向公众公开您的Web应用程序,并且拥有超过100个用户,那么您需要向Google申请以使该Web应用程序所基于的Apps脚本项目得到以下机构的批准:谷歌。
您的代码将需要检查用户帐户是否设置了有效的电子邮件别名,否则代码可能会失败。您需要向用户提供有关如何在其帐户中设置和验证别名电子邮件的详细说明。