Send Draft Emails with the Gmail API
The Gmail API, like the GmailApp service, can help you interact with your Gmail mailbox through Google Apps Script.
The first sample snippets fetches a list of draft emails residing in your Gmail mailbox while the other one will send one of these draft messages via the Gmail API itself. All you have to specify is the Gmail Message ID.
// Credit: https://gist.github.com/mogsdad/6515581
function getGmailDrafts() {
var params = {
method: 'get',
muteHttpExceptions: true,
headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() },
};
var resp = UrlFetchApp.fetch('https://www.googleapis.com/gmail/v1/users/me/drafts', params);
var drafts = JSON.parse(resp.getContentText()).drafts;
for (var i = 0; i < drafts.length; i++) {
Logger.log(drafts[i].message);
}
}
function sendGmailDraft() {
var draftID = '12345';
var params = {
method: 'post',
contentType: 'application/json',
headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken() },
muteHttpExceptions: true,
payload: JSON.stringify({ id: draftID }),
};
var resp = UrlFetchApp.fetch('https://www.googleapis.com/gmail/v1/users/me/drafts/send', params);
Logger.log(resp.getResponseCode());
Logger.log(resp.getContentText());
}
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory