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

对于问题:
我目前正在一个带有谷歌网站的网站上工作。在那里制作了一些表单,并在这些表单中添加了一个脚本,以便在表单提交并保存在电子表格中后通过电子邮件发送信息输入,这工作得很好,但是到达的电子邮件中的消息非常困惑。

代码中的所有 "\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 所示),但没有成功。

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

提前致谢。

ps:如果你需要更多关于它的信息,请告诉我

最佳答案

一种解决方案是使用 GmailApp.sendEmail 方法而不是 MailApp.sendEmail 方法。 GmailApp 的 sendMail 正确处理 \n

关于email - 谷歌脚本中 "\n"的替代或修复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12798292/

10-13 02:27