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