Decode Base64 Email with 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);
}
}
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