Contents
概要
"Gmailを効率化: Google Apps Scriptを使用して、頻繁に送信する送信者からのメールに自動ラベルを付ける"
山のようなEメールをふるいにかけて、送信者のドメインごとにラベル付けするスクリプトです。
説明と目的
タスクのために毎日大量のメールを受信する中で、特定の送信者からのメールをもっと効率的に管理したいと感じたことはありませんか?このスクリプトは、頻繁に連絡を取るドメインからのメールに自動的にラベルを付けることで、そのようなニーズに対応します。
ステップ・バイ・ステップ・ガイド
コードの説明
このスクリプトは、Gmailの受信トレイのメールをスキャンし、送信者のドメインに基づいてメールを数えます。そして、一定数のメールを受信したドメインに自動的にラベルを作成し、適用します。
安全への配慮
このスクリプトは、メールの内容を読まずに送信者のドメイン情報のみを抽出します。ただし、トリガーやApps Scriptを利用する際には、パーミッションが要求されます。セキュリティの詳細については、Googleの公式ドキュメントを参照してください。
Sample Script
function labelFrequentSenders() {
var threads = GmailApp.getInboxThreads();
var sendersCount = {};
threads.forEach(function(thread) {
var messages = thread.getMessages();
messages.forEach(function(message) {
var fromAddress = message.getFrom();
var domain = fromAddress.split('@')[1];
// Count the number of sender emails
sendersCount[domain] = (sendersCount[domain] || 0) + 1;
});
});
// Apply labels only to senders with more than a certain number of emails
var threshold = 5; // This is an example, please set the actual threshold
for(var domain in sendersCount) {
if(sendersCount[domain] >= threshold) {
var label = GmailApp.getUserLabelByName(domain);
if(!label) {
label = GmailApp.createLabel(domain);
}
// Apply label to target thread
GmailApp.search('from:@' + domain).forEach(function(thread) {
thread.addLabel(label);
});
}
}
}
Thank you