This system automatically searches Gmail for emails sent to or from specific contacts or domains, converts them into PDFs, and stores them in named folders in Google Drive. It's used to keep a searchable, organized, and timestamped record of key communications for future reference, especially across insurance and claim-related projects.
.pdf
file using Google Apps Script.YYYY-MM-DD - TO/FROM email@domain.com - Subject.pdf
Replace @example.com
or user@example.com
with your target domain or address:
function archiveAllEmailsWithDomain() {
var domain = "@example.com";
var threads = GmailApp.search("from:" + domain + " OR to:" + domain);
var folderName = "Gmail PDFs - Example (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 msg = messages[j];
var sender = msg.getFrom();
var recipient = msg.getTo();
var date = Utilities.formatDate(msg.getDate(), "GMT", "yyyy-MM-dd");
var subject = msg.getSubject().replace(/[^a-zA-Z0-9 ]/g, '').substring(0, 50);
var direction = sender.includes(domain) ? "FROM" : "TO";
var contact = sender.includes(domain) ? sender : recipient;
var contactClean = contact.match(/<(.+)>/) ? contact.match(/<(.+)>/)[1] : contact;
var filename = `${date} - ${direction} ${contactClean} - ${subject}.pdf`;
var blob = Utilities.newBlob(msg.getBody(), "text/html", filename).getAs("application/pdf");
folder.createFile(blob);
}
}
}
Shari.Bradix@cna.com
@cna.com
@jsheld.com
@bockmoninsurance.com