电子邮件正文中的缩进

Indentation in text of email body

我打算做的是使用 Google Apps 脚本通过 MailApp.sendEmail 发送电子邮件。我现在的代码是

      var recipientsTO = emailOne + "," + emailTwo;
      var subject = "subject";
      var message = "Dear so and so,"<br><br>Congratulations! A brief summary is provided
                     below.<br><br><h3 style='text-decoration: underline;'>"
+                    Name+"</h3>Contact: "+contact+"<br>Description: "+Description;
              MailApp.sendEmail(
                recipientsTO,
                subject,
                "", { 
                  htmlBody: message,
                  name: 'Name of Sender',
                });

电子邮件正文应如下所示

Dear so and so,

Congratulations! A brief summary is provided below.

Name(Underlined)

Contact : Contact

Description : Description

有没有办法改成

(INDENTED)Name(Underlined)

(INDENTED)Contact : Contact

(INDENTED)Description : Description

Google Apps Script 是否有特定的方法,还是 HTML/CSS 我必须尝试一下?

因为您正尝试发送一封 HTML 电子邮件,所以您可以将每一行包装在 div 中并使用 CSS 添加一些边距。这将显示为 reader 作为缩进文本。

您修改后的代码将如下所示

  var recipientsTO = emailOne + "," + emailTwo;
  var subject = "subject";
  var message = 'Dear so and so,"<br><br><div style="margin-left:40px;">Congratulations! A brief summary is provided below.</div>'
                +'<br><br><div style="margin-left:40px;"><h3 style="text-decoration: underline;">Name:'+name+'</h3></div>'
                +'<div style="margin-left:40px;">Contact: '+contact+'</div><br>'
                +'<div style="margin-left:40px;">Description: '+description+'</div>';
  MailApp.sendEmail(
    recipientsTO,
    subject,
    "", 
    { 
      htmlBody: message,
      name: 'Name of Sender',
    });

Waqar 的方法有效;但要添加一个可能更清洁/更简单的策略:

您可以在 GAS 环境中的 HTML 文件中创建 HTML 电子邮件。这将作为左侧的选项卡。您可以使用文件 > 新建 > HTML file.

创建它

然后您可以在脚本中调用您的 HTML 正文(名为 "Email Template"):

var emailBody = HtmlService.createHtmlOutputFromFile("Email Template").getContent();

您可以在电子邮件发件人中调用此变量或直接将其写入脚本。我调用发件人中的变量。 emailTag 是要发送至从 sheet 检索到的用户列表。

   function emailCreator() {
      var emailTag = sheet.getRange(range).getValue();
      var emailSubject = "subject";
      MailApp.sendEmail({
        to: emailTag,
        subject: emailSubject,
        htmlBody: emailBody,
      });
    }