Decode Base64 Email with Apps Script

D
Published in: Google Apps Script

You can decode base64 encoded email messages in Gmail, or files in your Google Drive, using the base64Decode() method of Google Apps Script.

function base64DecodeEmail() {

  // If the base6f.txt file in Drive needs to be decoded
  var mime = DriveApp.getFilesByName("base64.txt").next().getBlob().getDataAsString();

  // If a Gmail message with subject base64 needs to be decoded
  var message = GmailApp.search("subject:base64")[0].getMessages()[0];
  var mime = message.getRawContent();

  // Concatenate the chunks in the source
  mime = mime.replace(/\n|\r/g, "");

  // Extract the base64 string using regex
  var matches = mime.match(/base64[a-zA-Z0-9\+\/=]+/g);

  for (var line in matches) {
    var base64 = matches[line].replace(/^base64/, "");
    var decoded = Utilities.base64Decode(base64);
    var html = Utilities.newBlob(decoded).getDataAsString();
    Logger.log(html);
  }
}
Published in: Google Apps Script

Looking for something? Find here!

Meet the Author

Web Geek, Google Developer Expert
A
Amit Agarwal

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. He is the developer of Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory

Get in touch