Last active
November 19, 2020 17:03
-
-
Save arnoschutijzer/a4aaa57fa53941057fbbb45f16c691fa to your computer and use it in GitHub Desktop.
extract email addresses from inbox mails in gmail
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function sender_list() { | |
var inbox_threads = GmailApp.getInboxThreads(); | |
var sender_array = new Array(); | |
for (var i = 0; i < inbox_threads.length; i++) { | |
var message = inbox_threads[i].getMessages(); | |
for (var x = 0; x < message.length; x++) { | |
var email_address = retrieve_sender_from_message(message[x]); | |
console.log(email_address); | |
if (sender_array.indexOf(email_address) === -1) | |
sender_array.push(email_address); | |
} | |
} | |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); | |
var sheet = spreadsheet.getSheetByName('sheet1'); | |
sheet.clear(); | |
sheet.appendRow(['Email Addresses']); | |
sender_array.sort(); | |
var row = sheet.getLastRow() + 1; | |
for (var y = 0; y < sender_array.length; y++) { | |
sheet.getRange(row, 1).setValue(sender_array[y]); | |
row++; | |
} | |
} | |
function retrieve_sender_from_message(message) { | |
return message.getReplyTo() ? retrieve_email_from_sender(message.getReplyTo()) : retrieve_email_from_sender(message.getFrom()); | |
} | |
// sender can be of the form `Name <[email protected]>` or `[email protected]` | |
function retrieve_email_from_sender(sender) { | |
var opening_bracket = sender.indexOf('<'); | |
var closing_bracket = sender.indexOf('>'); | |
// this will likely fail if there are any users with a `<` or `>` in their name... | |
if (closing_bracket !== 1 && opening_bracket !== 1) { | |
return sender.substring(opening_bracket +1, closing_bracket); | |
} | |
return sender; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment