Send Draft Emails with the Gmail API

S
Published in: Gmail - Google Apps Script

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());

}
Published in: Gmail - Google Apps Script

Looking for something? Find here!

Meet the Author

Web Geek, Tech Columnist
A
Amit Agarwal

Amit Agarwal is a Google Developer Expert in GSuite and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India. Read more on Lifehacker and YourStory

Get in touch