Skip to content

Instantly share code, notes, and snippets.

@tknv
Last active December 20, 2015 10:20
var subjectToSend = "LikeADailyToKindle";
// kindleに飛ばしたモノは、Fileラベルに入れてINBOXから移動
// 気になる件名
var targetSubject = new Array();
targetSubject[1] = "[ 家庭菜園毎日ニュース";
targetSubject[2] = '国際小豆メールマガジン第';
targetSubject[3] = '■ いますぐ運動! Linux';
// もっと気になる場合
// targetSubject[i++] = 'ひたひたFXニュース';
// 宛先のkindle
var kindleMailAddr = "自分のkindle email address";
// 受信トレイをチェックする
function checkInbox() {
// 気になる件数分気にする
for (var i =1;i<targetSubject.length; i++) {
var sanitizedTargetSub = targetSubject[i].replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
// 受信トレイのFRESHなメッセージを取得する,50件以上もいけるかも、でかいと返りがタイムアウトしたり
for (var j = 1;j<51; j++) {
var threads = GmailApp.getInboxThreads();
try {
var subject = threads[j].getFirstMessageSubject();
}
catch(e) {
break;
}
// 気になる件名部分マッチ正規表現
if (subject.match(new RegExp(sanitizedTargetSub))) {
// スレッド内のメッセージと情報を取得する
var message = threads[j].getMessages()[0];
var bodyStr = message.getBody();
var topLess = bodyStr.replace(/<br\ \/>|&#x3000\;|&nbsp\;/gm, '');
var title = targetSubject[i] + message.getDate() + ".html"
var bodyDocHtml = DocsList.createFile(title, topLess, "text/html");
var news = message.getDate() + ".zip"
// packing!
var zip = Utilities.zip([bodyDocHtml], news);
//メッセージを送る
MailApp.sendEmail(kindleMailAddr, subjectToSend, 'see attachment', {attachments:zip});
// メッセージにlabel、2回きちゃってても一回分づつ、朝刊夕刊版ということで
var labelFile = GmailApp.getUserLabelByName("File");
labelFile.addToThread(threads[j]);
threads[j].moveToArchive();
break;
}
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment