【问题标题】:Changing the sender's email address更改发件人的电子邮件地址
【发布时间】:2021-10-19 16:00:45
【问题描述】:

我创建了下面的脚本以在选中复选框时自动发送电子邮件。我的问题是,该工作表正被两个用户使用,我想更改发件人,以便从触发脚本的用户发送电子邮件。

我已经尝试调整“部署”设置,以便应用脚本以“用户访问 Web 应用”的身份运行,还要求其他用户创建自己的触发器,这工作正常。但是我们收到了两封电子邮件(可能是因为这两个触发器?)寻找有关如何处理它的建议。

function onCheckboxEdit(e) {
  var source = e.source;
  var sheet = source.getActiveSheet() ;
  var range = e.range;
  var row = range.getRow();
  var column = range.getColumn();
  console.log("column:: ", column);

  var targetRange = sheet.getRange(row, 13, 1, 7);
  var targetValues = targetRange.getValues();
  console.log("targetRange:: ", targetValues);
  var recipient = targetValues[0][2];
  var checkboxValue = targetValues[0][4];
  var body = targetValues[0][1];
  var Replacement = targetValues [0][0];
  var subject = "Replacement for " + Replacement;
  var ccmail = targetValues[0][3];
  var Rname = targetValues[0][5];
  var EMAIL_SENT = 'E-mail sent';
  var emailDupe = targetValues[0][6]; 

  if(emailDupe !== 'E-mail sent' && checkboxValue  == true) {
    console.log("checkbox marked true")

    GmailApp.sendEmail(recipient, subject, body, {cc:ccmail,
    name: Rname})
    sheet.getRange(row, 19).setValue(EMAIL_SENT)

  }else if (column = 17 && checkboxValue == false) {
    console.log("checkbox marked false")
  }else {
    console.log("No clue")
  }
}

【问题讨论】:

  • 这是 Google 工作区的域版本吗?
  • 您的意思是我们使用的帐户?是的,我们正在使用我们的 Google 帐户
  • 是付费的还是个人的?
  • 付费,公司google域

标签: email google-apps-script google-sheets google-workspace


【解决方案1】:

在谷歌工作区域的情况下,你也许可以得到有效用户和活跃用户的电子邮件,并进行比较以停止双重触发。

function onCheckboxEdit(e) {
  const eUser/*User who owns the trigger*/ = Session.getEffectiveUser().getEmail();
  const aUser/*current user at the keyboard*/ = Session.getActiveUser().getEmail();
  console.log({time: new Date(), aUser, eUser});
  if (aUser !== eUser) return;

  /*rest of the code*/
  var source = e.source;
  /*...*/
}

检查日志中的实际记录值并相应地更改if 语句。

【讨论】:

  • 我尝试插入这个。奇怪的是,它没有产生任何日志......对不起,如果我错过了什么,我上周末才开始这样做
  • @josh_97 实际上应该有人对其进行编辑以触发脚本
  • @josh_97 “编辑”是指“复选框”点击
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-21
  • 2021-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多