-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathsendEmailViaSendGrid.gs
More file actions
34 lines (32 loc) · 1.18 KB
/
sendEmailViaSendGrid.gs
File metadata and controls
34 lines (32 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function sendEmail(email,name) {
// Docs and Example of payload - https://sendgrid.com/docs/api-reference/
var subject = '[SUBJECT]';
var emailFrom = '[EMAIL FROM]';
var nameToAppear = '[NAME FROM]';
var emailToReply = '[EMAIL TO REPLY]';
var url = 'https://api.sendgrid.com/v3/mail/send';
var apikey = '[YOUR API KEY]';
var templateId = '[YOUR TEMPLATE ID]';
var payload = '{"personalizations":[{"to":[{"email":"' + email + '",'
+ '"name":"' + name + '"}],'
+ '"subject":"' + subject + '"}],"'
+ 'from":{"email":"' + emailFrom + '",'
+ '"name":"'+ nameToAppear + '"},'
+ '"reply_to":{"email":"'+ emailToReply + '",'
+ '"name":"' + nameToAppear + '"},'
+ '"template_id":"' + templateId + '"}';
Logger.log(payload);
var options =
{
'method' : 'POST',
'followRedirects' : true,
'muteHttpExceptions': true,
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer " + apikey
},
'payload': payload
};
var response = UrlFetchApp.fetch(url, options);
Logger.log(response);
}