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?
JavaScript
x
15
15
1
function sendEmail() {
2
var ss = SpreadsheetApp.getActiveSpreadsheet()
3
var sheet1 = ss.getSheetByName('Sheet1');
4
var sheet2 = ss.getSheetByName('Sheet2');
5
var subject = sheet2.getRange(2, 1).getValue();
6
var n = sheet1.getLastRow();
7
for (var i = 2; i < n + 1; i++) {
8
var emailAddress = sheet1.getRange(i, 2).getValue();
9
var name = sheet1.getRange(i, 1).getValue();
10
var message = sheet2.getRange(2, 2).getValue();
11
12
message = message.replace("<name>", name);
13
MailApp.sendEmail(emailAddress, subject, message);
14
}
15
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:
JavaScript
1
2
1
MailApp.sendEmail(emailAddress, subject, message);
2
To:
JavaScript
1
2
1
MailApp.sendEmail(emailAddress, subject, message, {name: "sample name"});
2
or
JavaScript
1
2
1
MailApp.sendEmail({to: emailAddress,subject: subject,body: message,name: "sample name"});
2
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.