Skip to content

Instantly share code, notes, and snippets.

@tknv
Created March 1, 2017 06:54
Show Gist options
  • Save tknv/456452a4393f8188f6457302afddca77 to your computer and use it in GitHub Desktop.
Save tknv/456452a4393f8188f6457302afddca77 to your computer and use it in GitHub Desktop.
AMAZON Kindle - daily news! send to kindle
var subjectToSend = "LikeADailyToKindle";
// kindleに飛ばしたモノは、Fileラベルに入れてINBOXから移動
// 気になる件名
var targetSubject = new Array();
targetSubject[1] = "ニュースBug";
targetSubject[2] = 'Burning debug fire';
targetSubject[3] = 'Kernel太郎';
// もっと気になる場合
// targetSubject[i++] = 'ひたひたFXニュース';
// 宛先のkindle
var kindleMailAddr = "[email protected], [email protected]";
// 受信トレイをチェックする
function checkInbox() {
// 気になる件数分気にする
for (var i =1;i<targetSubject.length; i++) {
var sanitizedTargetSub = targetSubject[i].replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
// 受信トレイのFRESHなメッセージを取得する
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 = DriveApp.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