I’m sending emails using sendEmail
function from google sheets and the emails arrive showing the sender as the prefix of my email address (before the @ sign) instead of my gsuite
account name, as they do when sending an email manually. Is there a way to change the from field?
function sendEmail() { var ss = SpreadsheetApp.getActiveSpreadsheet() var sheet1 = ss.getSheetByName('Sheet1'); var sheet2 = ss.getSheetByName('Sheet2'); var subject = sheet2.getRange(2, 1).getValue(); var n = sheet1.getLastRow(); for (var i = 2; i < n + 1; i++) { var emailAddress = sheet1.getRange(i, 2).getValue(); var name = sheet1.getRange(i, 1).getValue(); var message = sheet2.getRange(2, 2).getValue(); message = message.replace("<name>", name); MailApp.sendEmail(emailAddress, subject, message); }
Advertisement
Answer
When you want to set From
of the header from From: ###@gmail.com
to From: sample name <###@gmail.com>
using MailApp.sendEmail
, how about modifying as follows?
From:
MailApp.sendEmail(emailAddress, subject, message);
To:
MailApp.sendEmail(emailAddress, subject, message, {name: "sample name"});
or
MailApp.sendEmail({to: emailAddress,subject: subject,body: message,name: "sample name"});
Note:
- This modification supposes that your script except for
MailApp.sendEmail(emailAddress, subject, message)
works. - If I misunderstood your goal, can you provide the result value you expect? By this, I would like to confirm it.