使用 Google Apps 脚本,如何在变量中换行以发送邮件?
问问题
63038 次
6 回答
9
如果您不发送 HTML 格式的消息,请使用“\n”。我个人鄙视 HTML 格式的电子邮件。
于 2012-05-23T14:29:55.737 回答
8
您应该<br>
在发送电子邮件的 HTML 部分时使用该标记。
下面是我如何撰写相同的电子邮件正文的示例,但 HTML 和纯文本的格式不同。(不是最好的代码,但希望它能说明这一点)
function onFormSubmit(e) {
var subject = "Subject";
// Collect user data
var name = e.values[0];
var email = e.values[1]; // Where user enters his/her email address
// Generate content - Replace this with what you're composing
var content = [];
content.push("Hi " + name);
content.push("Thanks for submitting the survey!___LINE_BREAK___");
content.push("Survey Team");
// Combine content into a single string
var preFormatContent = content.join('___LINE_BREAK___');
// Replace text with \n for plain text
var plainTextContent = preFormatContent.replace('___LINE_BREAK___', '\n');
// Replace text with <br /> for HTML
var htmlContent = preFormatContent.replace('___LINE_BREAK___', '<br />');
MailApp.sendEmail(email ,
subject,
plainTextContent ,
{
name: "Survey Team",
html: htmlContent
});
}
于 2012-05-23T15:30:08.743 回答
8
换行符msgBox
:
Browser.msgBox('line 1 \\n line 2');
请注意,您需要使用额外的反斜杠来转义 '\n'。
于 2015-11-16T09:23:09.487 回答
2
我通常在邮件中使用表格,但我认为<br />
应该可以
于 2012-05-23T13:38:29.923 回答
0
对于 HTML,<br>
应该可以。对于 sheetApp 等其他谷歌应用程序中的 javascript/appscript,请使用模板文字,因为 MailApp 不响应 \n。(即)键入两个反引号之间的内容并使用“输入”作为换行符,如下所示。无需使用单引号或双引号
const recipient = 'abc@xyz.com,cde@xyz.com'
const sub = 'some subject'
const line1 = 'some line1 content'// say 'Name'
const line2 = 'some line2 content'// say 'Contact Number'
const line3 = 'some line3 content'//say 'EMail Id'
const body = `Name: ${line1}
Contact Number: ${line2}
EMail Id: ${line3}`
MailApp.sendEmail(recipient,sub,body)
// There was a mistake with the original answer; I've added "$" for making the code above work.
于 2021-10-05T00:26:45.457 回答
0
您可以使用\r
更改 GmailApp
\\n
的行来更改 msgBox 的行。
于 2021-12-12T16:09:31.677 回答