Google Form邮件通知脚本。电子邮件始终以“我”作为发件人

时间:2018-10-24 07:17:33

标签: email google-apps-script notifications google-form

我尝试使用搜索功能,但是找不到解决我问题的方法,或者我还不够了解。

我已经为Google表单编写了一个脚本,当用户提交表单时,该脚本会自动向两个电子邮件地址发送一封电子邮件。我已经建立了一些应该显示在电子邮件主题中的信息,并使用一些简单的HTML格式将来自表单的输入信息放入电子邮件中。

我的问题是,电子邮件始终以我的电子邮件地址作为发件人(我用于创建表单的帐户) 我想要发送者的电子邮件,即提交表单的电子邮件。 那怎么可能?

代码如下:

    function sendFormByEmail(e) 
{    
  // Sent to Email address
  var email1 = "123@abc.com";
  var email2 = "345@abc.com"; 


  // Variables

  var s = SpreadsheetApp.getActiveSheet();
  var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];
  var txt = "";
  var subject = "Example text: ";

  // Var e = form input as array.
  // Loop through the array.

  for(var i in headers){
    txt += "<b>" + headers[i] + '</b>' + ': '+ 
e.namedValues[headers[i]].toString() + '<br><br>';    
  }

  // Insert variables from the spreadsheet into the subject.
  // Create email subject
  subject += "Example text " + e.namedValues[headers[2]].toString();

  // Send the email
  MailApp.sendEmail(email1, subject, "", {htmlBody:txt});
  MailApp.sendEmail(email2, subject, "", {htmlBody:txt}); 

}

1 个答案:

答案 0 :(得分:1)

由于脚本是从用户帐户运行的,因此无法以提交表单的用户的身份发送邮件,而mailapp将仅从该帐户发送邮件。您可以根据使用参数 name 替换表格的用户名来更改显示名称。另外,您可以通过在mailApp语法中添加参数 noReply 将电子邮件更改为noreply@domainName.com。但是,您不能将其更改为提交表单的用户

有关以上参数,您可以参考本文档:https://developers.google.com/apps-script/reference/mail/mail-app

希望这会有所帮助