Gmail Extract Sent EMails

PHOTO EMBED

Sat Sep 09 2023 14:27:56 GMT+0000 (Coordinated Universal Time)

Saved by @menaheero

function extractSentEmailsToCSV() {
  // Use the Gmail service to fetch sent emails
  var threads = GmailApp.search("is:sent", 0, 10); // Get the first 10 sent threads

  // Use the Google Sheets service to create a CSV file
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Sheet1');

  var csvData = [];

  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    for (var j = 0; j < messages.length; j++) {
      var message = messages[j];
      var rawEmail = message.getRawContent();
      var recipientEmails = extractRecipientEmails(rawEmail);

      var subject = message.getSubject();
      var body = message.getPlainBody();
      var emailData = [recipientEmails.join(', '), subject, body];
      csvData.push(emailData);
    }
  }

  sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}

// Function to extract recipient email addresses from raw email data
function extractRecipientEmails(rawEmail) {
  var regex = /To: (.+?)\r\n/g;
  var matches = [];
  var match;
  while ((match = regex.exec(rawEmail))) {
    matches.push(match[1]);
  }
  return matches;
}
content_copyCOPY