Parse Gmail mails and export results to Google Doc
function getMessagesWithLabel() {
var destArray = new Array();
var labelName = 'card';
var label = GmailApp.getUserLabelByName(labelName);
var threads = label.getThreads();
for(var n in threads){
var msg = threads[n].getMessages();
var destArrayRow = new Array();
threads[n].removeLabel(label);
for(var m in msg){
var text = msg[m].getBody();
var result = text.match(/<p>(.*?)<\/p>/g).map(function(val){
return val.replace(/<\/?p>/g,'');
});
var phone = "000";
var name = "John Doe";
var email = "doe@microsoft.com";
for(var field in result){
if (result[field].indexOf('Телефон') != -1)
{
phone = parseInt(result[field].replace(/[^0-9]/g,''));
}
if (result[field].indexOf('ФИО') != -1)
{
tempName = result[field].match(/<b>(.*?)<\/b>/g).map(function(val){
return val.replace(/<\/?b>/g,'');
});
name = tempName[0];
}
if (result[field].indexOf('E-mail') != -1)
{
email = result[field];
email = email.substring(email.indexOf('">') + 2,email.indexOf('</a>'));
}
}
destArrayRow.push(name);
destArrayRow.push(phone);
destArrayRow.push(email);
destArray.push(destArrayRow);
}
}
Logger.log(destArray);
var ss = SpreadsheetApp.openById('1gc4YdfsCFwdoJUUnAoJ0ugNUDXzMieVGsQd9HSpukp8')
// var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
// if(ss.getLastRow()==0){sh.getRange(1,1).setValue('getMessagesWithLabel() RESULTS' + destArray.length)};
var range = sh.getRange(ss.getLastRow()+1,1,destArray.length,destArray[0].length);
range.setValues(destArray);
SpreadsheetApp.flush();
}