【问题标题】:Begin a new paragraph in email body在电子邮件正文中开始一个新段落
【发布时间】:2019-04-30 14:33:47
【问题描述】:

我有一个 Google 表格,其中包含一些我已提取到电子邮件正文中的数据(即下面显示的代码中的消息行)。但是,我想插入一个以studentName 开头的新段落和另一个以sessionName 开头的新段落。尝试了\r\n<br/>,但都无法正常工作。明确地说,我希望最终的电子邮件看起来像这样:

主题:

青少年高尔夫诊所注册收据

主体:

这确认您的注册。您的信用卡已被扣款 0.00 美元。

学生姓名:John Doe

课程:5 月 - 课程 1


function SendEmail() {
 // Fetch the email address
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2");
var studentRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("C2");
var studentName = studentRange.getValues();
var sessionRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("D2");
var sessionName = sessionRange.getValues();
var emailAddress = emailRange.getValues();
var ChgAmt = Browser.inputBox("Charge Amount");

// Send Alert Email.
var subject = 'Junior Golf Clinic Registration Receipt';
var message = 'This confirms your registration.  Your credit card has been charged '+ ChgAmt + <br/> + studentName + sessionName ; // Second column

MailApp.sendEmail(emailAddress, subject, message); 
  
}

【问题讨论】:

  • '+ ChgAmt + '&lt;br/&gt;' + studentName 使用 + 和 '' 连接字符串和变量怎么样(未经测试)
  • 如果可行,我只需插入开始和结束段落标签'&lt;p&gt;' +var+ '&lt;/p&gt; Some string'
  • 抱歉,我无法让这些建议发挥作用。这又是我要分离的代码行。我知道第 1 段中的信用卡收费金额,第 2 段中的学生姓名和第 3 段中的会话名称。 ~var message = '这确认您的注册。您的信用卡已被扣款:'+ ChgAmt + '学生姓名:'+ studentName + '会话:'+ sessionName~~
  • 我的回答是否向您展示了您想要的结果?你能告诉我吗?这对我学习也很有用。如果这可行,与您有相同问题的其他人也可以将您的问题作为可以解决的问题。如果您对我的回答有疑问,我深表歉意。到时候,可以问一下你现在的情况吗?我想学习解决你的问题。

标签: javascript email google-apps-script google-sheets text


【解决方案1】:
  • 您想使用 Google Apps 脚本。
  • 您想在电子邮件正文中添加换行符。

根据您的问题,我可以像上面那样理解。如果我的理解是正确的,那么这个修改呢?

修改点:

  • 您可以通过一个请求检索B2:D2 的值。这样可以降低工艺成本。
  • 为了给正文添加换行符,可以使用\n作为换行符。您也可以使用\r\n
    • 我看不到关于Tried \r\n and but can't get either to work. 的脚本。所以我直接修改了你的脚本。

当以上几点反映到您的脚本中时,它变成如下。请认为这只是几个答案之一。

修改脚本:

function SendEmail() {
  // Fetch the email address
  var values = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2:D2").getValues()[0];
  var emailAddress = values[0];
  var studentName = values[1];
  var sessionName = values[2];
  var ChgAmt = Browser.inputBox("Charge Amount");

  var lineBreak = '\n'; // or \r\n

  // Send Alert Email.
  var subject = 'Junior Golf Clinic Registration Receipt';
  var message = 'This confirms your registration.  Your credit card has been charged ' + ChgAmt + lineBreak +
  'Student Name: ' + studentName + lineBreak +
  'Session(s): ' + sessionName;

  MailApp.sendEmail(emailAddress, subject, message);
}

参考:

如果我误解了您的问题并且这不是您想要的结果,我深表歉意。我想修改它。

【讨论】:

    【解决方案2】:

    1.创建新的段落元素(并将它们分配给常量,以便在接下来的步骤中更容易地访问它们)

    const para1 = document.createElement('p');
    const para2 = document.createElement('p');
    

    2.在段落中添加一些文字

    para1.textContent = "Student Name:" + studentname;
    para2.textContent = "Session(s):" + sessionName;
    

    3.将段落附加到父元素。这可能因您的 html 结构而异,但此代码假设您希望段落所在的元素具有 ID“emailContainer”

    document.getElementById("emailContainer").appendChild(para1);
    document.getElementById("emailContainer").appendChild(para2);
    

    【讨论】:

    • 对不起,我想我只是太新的 Javascript 来理解如何做你所要求的。使用我上面显示的原始代码,你能告诉我这些部分是如何组合在一起的吗?谢谢。
    猜你喜欢
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 2021-02-02
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    相关资源
    最近更新 更多