Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 替换或修复\";在谷歌脚本中_Email_Text_Google Apps Script_Carriage Return - Fatal编程技术网

Email 替换或修复\";在谷歌脚本中

Email 替换或修复\";在谷歌脚本中,email,text,google-apps-script,carriage-return,Email,Text,Google Apps Script,Carriage Return,我第一次在这里提出问题(发帖前一直在搜索),所以请容忍我可能犯的错误 关于这个问题: 我目前正在谷歌网站上工作。在那里制作了一些表格,我在这些表格中添加了一个脚本,以便在表格提交并保存在电子表格上后,将输入的信息通过电子邮件发送出去,这样做效果很好,但收到的电子邮件中的信息非常混乱 代码中的所有“\n”表达式都会被忽略。 我从www.labnol.org获得了代码的基础,并对其进行了一些编辑 首先,代码: function sendFormByEmail(e) { //I

我第一次在这里提出问题(发帖前一直在搜索),所以请容忍我可能犯的错误

关于这个问题: 我目前正在谷歌网站上工作。在那里制作了一些表格,我在这些表格中添加了一个脚本,以便在表格提交并保存在电子表格上后,将输入的信息通过电子邮件发送出去,这样做效果很好,但收到的电子邮件中的信息非常混乱

代码中的所有“\n”表达式都会被忽略。 我从www.labnol.org获得了代码的基础,并对其进行了一些编辑

首先,代码:

    function sendFormByEmail(e) 
{    
  //I took the two mail addresses out here, but they are working in the original

  var email = "first mail address";
  var email2 = "second mail address";

  var subject = "New Announce your visit form submitted";  


  var s = SpreadsheetApp.getActiveSheet(); 
  var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0]; 
  var message = "A new 'Announce your visit' form has been submitted on the website: \n\n" + "\n\n";   

  for(var i in headers) {
    message = message + "\n \n";
    message += headers[i] + ' = '+ e.namedValues[headers[i]].toString() + "\n\n";
  }

  var senderEmail = e.namedValues[headers[6]].toString();


  MailApp.sendEmail(email, senderEmail, subject, message);
  MailApp.sendEmail(email2, senderEmail, subject, message);

}
如您所见,我一直在尝试将\n放置在不同的位置作为备选方案,但无论我将其放置在何处,它都会被忽略

原始循环如下所示:

  for(var i in headers)
    message += headers[i] + ' = '+ e.namedValues[headers[i]].toString() + "\n\n";
在我对代码做一些修改之前,它工作得很好。但是,即使我没有触及这些行,也没有触及代码中有助于获取消息的任何其他部分,但\n仍停止工作。 我一直试图修复它(如上面混乱的位置所示),但没有成功

所以现在我正试图找到一种修复它们的方法,或者至少是一种解决方法,并希望你们中的任何人都知道\n的发生了什么,或者如何让它们重新工作

提前谢谢


ps:如果您需要更多信息,请告诉我一个解决方法是使用该方法而不是该方法。GmailApp的
sendMail
正确地处理
\n

这里有一个替代解决方案:

一些示例代码:

function sendEmailWithTemplateExample() {
  var t = HtmlService.createTemplateFromFile("body.html");
  t.someValue = "some dynamic value";
  var emailBody = t.evaluate().getContent();
  MailApp.sendEmail("your@email.here", "test email", emailBody);
}
下面是body.html中相应的模板代码(单击“文件->新建->html文件”):

身体在这里

非常感谢MB,这个解决方案可以解决这个问题,现在唯一剩下的是,对于GmailApp.sendmail,第四个参数(应该是replyTo)还不起作用。我想我必须以某种方式指定它。。。或者更确切地说,为它创建一个对象,但我恐怕不知道如何在google脚本中初始化它。@m41n。第4个参数是可选的,它不仅定义了
replyTo
地址,还定义了其他参数,如
cc
bcc
等。示例中演示了如何指定这些参数。对于
replyTo
,第4个参数应该类似于
{replyTo:me@example.com“}
再次非常感谢!这些都是需要的,现在一切都按计划进行。将您的答案标记为已接受答案(因为它毕竟给了我所需的帮助)。如果我还有什么事要做,把我的问题标记为已回答,就告诉我。想做的事情可能毕竟=)
 Body goes here
<?= someValue ?>