This example shows how to create email copies in Gmail with Google Apps Script and the Gmail API. The requires requires authorization with the scope https://mail.google.com/ for reading Gmail drafts and composing new ones.
The uploadType is set to media and that will create the Gmail draft in a single HTTP request. However, if you are create a draft that includes big attachment, you may have to set the upload type as resumable to create the draft in at least two requests.
function duplicateGmailDrafts(count, draftId) { try { var draft = GmailApp.getMessageById(draftId); if (draft === null) { return "Sorry, the draft message was not found. Please reload this page and try again."; } var gmailAPI = "https://www.googleapis.com/upload/gmail/v1/users/me/drafts?uploadType=media"; var params = { method: "POST", contentType: "message/rfc822", muteHttpExceptions: true, headers: { "Authorization": "Bearer " + ScriptApp.getOAuthToken() }, payload: draft.getRawContent() }; for (var i = 0; i < count; i++) { UrlFetchApp.fetch(gmailAPI, params); } return "Drafts Created"; } catch (f) { return "Error: " + f.toString(); } }