function archiveAllCNAEmails() {
var domain = "@cna.com";
// Search Gmail for all emails from or to any @cna.com address
var threads = GmailApp.search("from:" + domain + " OR to:" + domain);
// Folder for storing all PDFs var folderName = "Gmail PDFs - CNA (All Emails)"; var folders = DriveApp.getFoldersByName(folderName); var folder = folders.hasNext() ? folders.next() : DriveApp.createFolder(folderName);
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 sender = message.getFrom();
var recipient = message.getTo();
// Only process if either side matches the domain
if (!(sender.includes(domain) || recipient.includes(domain))) {
continue;
}
var date = Utilities.formatDate(message.getDate(), "GMT", "yyyy-MM-dd");
var subject = message.getSubject().replace(/[^a-zA-Z0-9 ]/g, '').substring(0, 50);
var direction, contact;
if (sender.includes(domain)) {
direction = "FROM";
contact = sender.match(/<(.+)>/) ? sender.match(/<(.+)>/)[1] : sender;
} else {
direction = "TO";
contact = recipient.match(/<(.+)>/) ? recipient.match(/<(.+)>/)[1] : recipient;
}
var filename = `${date} - ${direction} ${contact} - ${subject}.pdf`;
var blob = Utilities.newBlob(message.getBody(), "text/html", filename).getAs("application/pdf");
folder.createFile(blob);
}
}
}