格式化自动电子邮件脚本中的文

时间:2014-06-05 01:07:13

标签: google-apps-script google-sheets google-form

我使用以下脚本从与Google表单同步的电子表格中发送自动确认。

function formSubmitReply(e) {
  var userEmail = e.values[2];
  MailApp.sendEmail(userEmail,
                    "Thanks for Volunteering",
                     " Hello\n\n"+
                     "Thanks you\n\n"+
                     "Have a great day\n\n",
                     {name:"ABC"});
                             }​

\n将文字带到下一行。然而,它们都保持一致。我可以添加任何东西以使其正确对齐吗?像\r之类的东西? 感谢

1 个答案:

答案 0 :(得分:0)

电子邮件的文本正文不支持格式化。您可以嵌入标签(\t)或空格以尝试将文字推向右侧;但是你怎么知道收件人的展示有多宽?

如果您想控制电子邮件的演示文稿,则需要使用htmlBody选项described here

通过将电子邮件文本包装在<div>标记中,并将css属性/值对放在style属性中,可以影响嵌入式CSS样式的基本格式。例如,这将生成右对齐文本(继续,&#34;运行&#34;它和看到):

&#13;
&#13;
<div style='text-align:right'>
  This is the text <br> that we want to have <br> right-aligned.
</div>
&#13;
&#13;
&#13;

此示例使用我们选择的样式将电子邮件正文的文本版本包装在<div>标记中,将换行符替换为html <br>标记。发送此电子邮件时,包含text和html版本;拥有支持html的电子邮件客户端的收件人将看到右对齐的html版本,其他人将看到纯文本。

function formSubmitReply(e) {
  var userEmail = e.values[2];
  var text = "Hello\n\n"+
             "Thanks you\n\n"+
             "Have a great day\n\n";
  var html = "<div style='text-align:right'>"
           + text.replace(/\\n/g,"<br>")   // Replace newlines with breaks
           + "</div>"
  MailApp.sendEmail(userEmail,
                    "Thanks for Volunteering",
                    text,
                    { name: "ABC"
                      htmlBody: html });
}​