【问题标题】:Can we set email.From in gas application我们可以在气体应用程序中设置电子邮件吗?
【发布时间】:2020-07-03 14:03:07
【问题描述】:

我正在开发一个谷歌网络应用程序,它在某些触发器上发送电子邮件。

应用部署为Execute the app as: Me(me@gmail.com)

但是,无论何时通过其他用户发送邮件,它总是发送 From 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-app 中实现。

【问题讨论】:

  • 将“执行为”更改为用户访问

标签: google-apps-script web-applications


【解决方案1】:

免费/消费者 Google 帐户无法发送来自其他帐户的电子邮件。 GMail 可以发送来自与运行代码的帐户不同的帐户的电子邮件的唯一方法是在 GSuite 帐户中设置别名电子邮件,并将电子邮件发送为来自别名帐户的“来自”。但即便如此,默认电子邮件地址也可能会被公开。因此,如果目标是隐藏运行代码的帐户的默认电子邮件地址,那么据我所知,没有绝对的方法可以做到这一点。

您的 Web 应用程序的用户需要有一个 GSuite 帐户,或允许使用别名发送电子邮件的付费 Google 帐户。然后,您的 Web 应用用户需要登录到他们的帐户,并且您的 Web 应用需要配置为以“作为”访问该 Web 应用的用户的身份运行。

因此,必须满足多个条件才能将电子邮件发送为来自与默认地址不同的电子邮件地址。

另外,用户需要授权代码才能像从他们的帐户运行一样运行,并且代码需要具有广泛的访问权限才能在他们的 GMail 帐户中进行设置。这是一个大问题,因为您的 Web 应用程序将能够删除他们的所有电子邮件、阅读他们的所有电子邮件并在他们的 Gmail 帐户中进行设置。这被认为是一个非常大的安全风险。因此,您的 Web 应用会被视为存在安全风险,可能会对用户的帐户造成很多不良影响。

如果您想让您的网络应用程序向公众开放,并且拥有超过 100 位用户,那么您需要向 Google 申请,让您的应用程序脚本项目(该网络应用程序所基于)获得批准谷歌。

您的代码需要检查用户帐户是否设置了有效的电子邮件别名,否则代码可能会失败。您需要向用户提供有关如何在其帐户中设置和验证别名电子邮件的详细说明。

【讨论】:

    猜你喜欢
    • 2011-04-13
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 2011-05-12
    • 2013-08-28
    • 2011-10-29
    相关资源
    最近更新 更多