Преобразование кода MailApp.sendEmail в GmailApp.sendEmail с HTML Body - PullRequest
0 голосов
/ 05 августа 2020

Все, я ищу помощи у кого-нибудь с большим опытом в этом. У меня есть собранный скрипт электронной почты, который отлично работает. Я хочу указать адрес отправителя: используя псевдоним, и насколько я понимаю, мне нужно использовать GmailApp vs MailApp, чтобы выполнить sh это. Проблема в том, что я не могу понять, как заставить мой htmlBody работать в версии GmailApp.

Вот мой рабочий код MailApp:

function SendPreReleaseAlertEmail(row) { 
  var sheet = SpreadsheetApp.getActive().getSheetByName('EmailSheet');
  var subject = sheet.getRange("M3").getValues();  // Change the subject as needed.
  var recipients = sheet.getRange("M2").getValue();  // Change the recipient as needed.
  var message = "<HTML><BODY>" + "<P>"
   for (var x=6;x<14;x++) {                                       //Loop from * to * with a +1 increment
     message = message + sheet.getRange("M" + x).getValues() + "<BR>"      //Add row I(x) to the message 
   }
    message = message + "</HTML></BODY>"; 
   MailApp.sendEmail(recipients, subject, "", {htmlBody: message});
}

И это моя НЕУДАЧНАЯ попытка преобразование его в GmailApp с адресом От:

function SendPreReleaseAlertEmail(row) { 
  var sheet = SpreadsheetApp.getActive().getSheetByName('EmailSheet');
  var subject = sheet.getRange("M3").getValues();  // Change the subject as needed.
  var recipients = sheet.getRange("M2").getValue();  // Change the recipient as needed.
  var message = "<HTML><BODY>" + "<P>"
   for (var x=6;x<14;x++) {                                       //Loop from * to * with a +1 increment
     message = message + sheet.getRange("M" + x).getValues() + "<BR>"      //Add row I(x) to the message 
   }
    message = message + "</HTML></BODY>"; 
   GmailApp.sendEmail(recipients, subject, {htmlBody: message}, {from: "moo@cow.com"});
}

Приведенный выше код фактически выполняет электронную почту с псевдонима. Но htmlBody содержит только слова «[object Object]» в теле письма.

It's Alive! Вот последний код, который решил мою проблему:

GmailApp.sendEmail(recipients, subject, '', {htmlBody: message, from: "moo@cow.com"});

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Вы все еще можете использовать MailApp следующим образом:

var email = "exampleRec@email.com";
var Subject_to_Send = "This is an automated email";
  
var check_body = 
     "Good morning team,  <br/><br/>" 
     +"I hope this email finds you well. <br/><br/>";

MailApp.sendEmail( {to:email, subject:Subject_to_Send, body:check_body,htmlBody:check_body, from: "exampleSen@email.com"}); 

Если вы также хотите отправить сообщение noReply , вы можете настроить последнюю строку следующим образом:

MailApp.sendEmail( {to:email, subject:Subject_to_Send, body:check_body,htmlBody:check_body, noReply: true});
1 голос
/ 05 августа 2020

Думаю, вам нужно исправить две вещи.

1. Синтаксис:

sendEmail(recipient, subject, body, options) 

Поэтому вам может потребоваться включить в код пустой заполнитель для body.

2. Вам также может потребоваться наличие как htmlBody, так и from в объекте options JavaScript, например:

  GmailApp.sendEmail(recipients, subject, '' , {
    htmlBody: message, 
    from: "moo@cow.com"});
...