Javascript 谷歌脚本发送电子邮件的纯文本,而不是HTML

Javascript 谷歌脚本发送电子邮件的纯文本,而不是HTML,javascript,html,google-apps-script,google-sheets,Javascript,Html,Google Apps Script,Google Sheets,目前,当我使用下面的脚本发送电子邮件时,电子邮件的格式将设置为在70个字符后开始一行。我相信这是因为电子邮件是以纯文本形式发送的,而不是HTML 如何将消息转换为HTML,使其在没有换行的情况下阅读效果更好 var data=dataRange.getValues(); 用于(数据中的var i){ var行=数据[i]; var emailAddress=第[3]行; var消息=行[5]+“\n\nTEST\n\nTEST”; var主题=第[4]行; MailApp.sendmail(电子

目前,当我使用下面的脚本发送电子邮件时,电子邮件的格式将设置为在70个字符后开始一行。我相信这是因为电子邮件是以纯文本形式发送的,而不是HTML

如何将消息转换为HTML,使其在没有换行的情况下阅读效果更好

var data=dataRange.getValues();
用于(数据中的var i){
var行=数据[i];
var emailAddress=第[3]行;
var消息=行[5]+“\n\nTEST\n\nTEST”;
var主题=第[4]行;
MailApp.sendmail(电子邮件地址、主题、消息);
sheet.getRange(startRow+i-18,8).setValue(已发送电子邮件);
sheetC.getRange(startRow+i-18,3).setValue(已发送电子邮件);
SpreadsheetApp.flush();
}

相当新的脚本,所以任何帮助将不胜感激

解释:

function myFunction(){
    var emailAddress = "example@gmail.com"
    var message = "\n\nTEST\n\nTEST"; 
    var subject = "test";
    var message=message.replace(/\n/g, '<br>');
    MailApp.sendEmail(emailAddress, subject, message,{htmlBody:message});
  }
  var data = dataRange.getValues();
  for (var i in data) {
    var row = data[i];
    var emailAddress = row[3]; 
    var message = row[5] + "\n\nTEST\n\nTEST"; 
    var message = message.replace(/\n/g, '<br>');
    var subject = row[4];
    MailApp.sendEmail(emailAddress, subject, message,{htmlBody:message});
    sheet.getRange(startRow + i - 18, 8).setValue(EMAIL_SENT);
    sheetC.getRange(startRow + i - 18, 3).setValue(EMAIL_SENT);
    SpreadsheetApp.flush();
  }
有两点需要注意:

  • 您需要添加一个可选参数,即
    htmlBody

    MailApp.sendmail(emailAddress,subject,message,{htmlBody:message})

  • 使用您当前的解决方案,将
    \n
    替换为

    html标记:

    var message=message.replace(/\n/g,

  • 最小示例:

    function myFunction(){
        var emailAddress = "example@gmail.com"
        var message = "\n\nTEST\n\nTEST"; 
        var subject = "test";
        var message=message.replace(/\n/g, '<br>');
        MailApp.sendEmail(emailAddress, subject, message,{htmlBody:message});
      }
    
      var data = dataRange.getValues();
      for (var i in data) {
        var row = data[i];
        var emailAddress = row[3]; 
        var message = row[5] + "\n\nTEST\n\nTEST"; 
        var message = message.replace(/\n/g, '<br>');
        var subject = row[4];
        MailApp.sendEmail(emailAddress, subject, message,{htmlBody:message});
        sheet.getRange(startRow + i - 18, 8).setValue(EMAIL_SENT);
        sheetC.getRange(startRow + i - 18, 3).setValue(EMAIL_SENT);
        SpreadsheetApp.flush();
      }
    
    函数myFunction(){
    var emailAddress=”example@gmail.com"
    var message=“\n\nTEST\n\nTEST”;
    var subject=“test”;
    var message=message.replace(/\n/g,
    ); sendmail(emailAddress,subject,message,{htmlBody:message}); }
    解决方案:

    function myFunction(){
        var emailAddress = "example@gmail.com"
        var message = "\n\nTEST\n\nTEST"; 
        var subject = "test";
        var message=message.replace(/\n/g, '<br>');
        MailApp.sendEmail(emailAddress, subject, message,{htmlBody:message});
      }
    
      var data = dataRange.getValues();
      for (var i in data) {
        var row = data[i];
        var emailAddress = row[3]; 
        var message = row[5] + "\n\nTEST\n\nTEST"; 
        var message = message.replace(/\n/g, '<br>');
        var subject = row[4];
        MailApp.sendEmail(emailAddress, subject, message,{htmlBody:message});
        sheet.getRange(startRow + i - 18, 8).setValue(EMAIL_SENT);
        sheetC.getRange(startRow + i - 18, 3).setValue(EMAIL_SENT);
        SpreadsheetApp.flush();
      }
    
    var data=dataRange.getValues();
    用于(数据中的var i){
    var行=数据[i];
    var emailAddress=第[3]行;
    var消息=行[5]+“\n\nTEST\n\nTEST”;
    var message=message.replace(/\n/g,
    ); var主题=第[4]行; sendmail(emailAddress,subject,message,{htmlBody:message}); sheet.getRange(startRow+i-18,8).setValue(已发送电子邮件); sheetC.getRange(startRow+i-18,3).setValue(已发送电子邮件); SpreadsheetApp.flush(); }