Text format in Google scripts Mailapp

2.8k Views Asked by At

I'm using the following script for sending emails from Google Sheets. I would like to accomplish the followings:

  1. RTL - email message to be align to the right.
  2. msg2 in bold.
  3. adding my gmail signature (at the end shows as signature in the script)
  4. adding CC
  5. change my from name
function testingEmails() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName("Send-Emails"));
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getRange("A2:F2");
  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var rowData = data[i];
    var email = rowData[0];
    var subject = rowData[1]
    var msg1 = rowData[2];
    var msg2 = rowData[3];
    var msg3 = rowData[4];

    var subject = subject;

    var msg = msg1 + '\n\n' + msg2 + '\n\n' + msg3 + '\n\n' + signature;

    MailApp.sendEmail(email, subject, msg);
    sheet.getRange(startRow + i, 4).setValue(EMAIL_SENT);

hope you guys would be able to help me.

Best, Moshe.

1

There are 1 best solutions below

0
On

So I've managed to bold msg2 but now it's doesn't have bullets like it use to have before the Html tag changed the original format of the text.

the text in msg2 cell used to be: -task1 -task2 -task3

and after the Html tag it looks like this: -task1-task2-task3

but in bold :)

in addition I've solved the RTL issue. here is the new script:

function testingtemplate() {
//  var htmlbody = HtmlService.createHtmlOutputFromFile('test');
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName("Send-Emails"));  
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getRange("A2:F2");
  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var rowData = data[i];
    var email = rowData[0];
    var subject = rowData[1]
    var msg1 = rowData[2];
    var msg2 = rowData[3];
    var msg3 = rowData[4]; 
    var subject = subject;
      
    
    
    var email_html = "<HTML><BODY><span dir=rtl>" 
    + "<p>" + msg1 + "</p>"
    + "<p><b>" + msg2 + "</b></p>" 
    + "<p>" + msg3 + "</p>" 
    + "</BODY></HTML>";
    
    MailApp.sendEmail(email, subject, '', {htmlBody : email_html});
  }
 }

still haven't accomplished the other stuff.

Hope you guys will be able to share your wisdom with me.

Best, Moshe.