function searchContactMail() {
/* Gmailから特定条件のスレッドを検索しメールを取り出す */
var strTerms = 'label:テストラベル'; //メール検索条件
var numMailMax = 20000; //取得するメール総数
var numMail = 500; //1度に取得するメール数
var myThreads; //条件にマッチしたスレッドを取得、最大500通と決まっている
var myMsgs; //スレッドからメールを取得する →二次元配列で格納
var valMsgs;
var i = SpreadsheetApp.getActiveSheet().getLastRow();
if(i<numMailMax) {
valMsgs = [];
myThreads = GmailApp.search(strTerms, i, numMail); //条件にマッチしたスレッドを取得、最大500通と決まっている
myMsgs = GmailApp.getMessagesForThreads(myThreads); //スレッドからメールを取得する →二次元配列で格納
/* 各メールから日時、送信元、件名、内容を取り出す*/
for(var j = 0;j < myMsgs.length;j++){
valMsgs[j] = [];
valMsgs[j][0] = myMsgs[j][0].getFrom();
valMsgs[j][1] = myMsgs[j][0].getReplyTo();
valMsgs[j][2] = myMsgs[j][0].getPlainBody();
valMsgs[j][3] = myMsgs[j][0].getDate();
valMsgs[j][4] = myMsgs[j][0].getSubject();
}
/* スプレッドシートに出力 */
if(myMsgs.length>0){
SpreadsheetApp.getActiveSheet().getRange(i + 1, 1, j, 5).setValues(valMsgs); //シートに貼り付け
}
}
}
関連