毎日深夜に昨日届いたメールを全部Discordに転送する
1. Discord のウェブフックを作成する
2. Google App Scripts のプロジェクトを作成する
https://script.google.com/home
にアクセスします
以下のスクリプトを入力します
function main() {
const yesterdaysEmails = getYesterdaysEmails(EMAIL_FROM); // Discordに転送したいメールの送り元アドレス
const webhook_url = DISCORD_WEBHOOK_URL; // DiscordのウェブフックURL
yesterdaysEmails.forEach(email => {
sendToDiscord(webhook_url, email.getPlainBody());
});
}
function getYesterdaysEmails(from){
const today = new Date();
const yesterday = new Date();
yesterday.setDate(today.getDate() - 1);
const threads = GmailApp.search(`from:${from} after:${yesterday.getFullYear()}/${yesterday.getMonth() + 1}/${yesterday.getDate()} before:${today.getFullYear()}/${today.getMonth() + 1}/${today.getDate()}`);
const msgs = GmailApp.getMessagesForThreads(threads);
const ret = [];
for(let i = 0; i < msgs.length; i++) {
for(let j = 0; j < msgs[i].length; j++) {
ret.push(msgs[i][j]);
}
}
return ret;
}
function sendToDiscord(webhook_url, text) {
const data = {
content: text,
};
const res = UrlFetchApp.fetch(webhook_url, {
method: "post",
headers: { 'Content-Type': 'application/json' },
payload: JSON.stringify(data),
});
}
3. 実行テストする
実行テストして昨日の分のメールがDiscordに投稿されればOK
4. 1日1回実行するトリガーをセットする
おわり