Gmail : GASを使ってメール自動削除
Gmailで一部メールが消すのも面倒になってきたので、定期的に自動で削除させる。
GASを使って、定期的に自動削除させる。
流れ
Google Apps Script(GAS)を使用して定期的に特定のメールを削除するには、GmailApp クラスを使用したスクリプトを作成し、トリガーを設定して定期実行します。以下はその基本的な手順です。
-
Google Apps Scriptプロジェクトの作成:
- Google Drive にアクセスし、「新規」>「その他」>「Google Apps Script」を選択して新しいプロジェクトを作成します。
- プロジェクトに名前を付けます。
-
スクリプトの作成:
- あとで記載
-
トリガーの設定:
- スクリプトエディタの画面で「トリガー」アイコン(時計のアイコン)をクリックします。
- 右下の「トリガーを追加」をクリックします。
- 実行する関数として、コードに記載のものを選択。例えば「deleteSpecificEmails」を選択します。
- イベントのソースとして「時間主導型」を選択し、どのくらいの頻度でスクリプトを実行するかを設定します(例: 毎時、毎日、週1回など)。
-
保存して実行:
- トリガーの設定が完了したら、「保存」をクリックします。
- 初めてスクリプトを実行する場合、Googleから権限の承認を求められます。指示に従って承認してください。
これで、設定した条件に一致するメールが定期的に削除されるようになります。安全のため、重要なメールが誤って削除されないよう、実行前に条件をよく確認してください。
スクリプト&トリガー
指定された条件に基づいて、Gmailから特定のメールを2日に一度削除するためのGoogle Apps Script(GAS)のコードは以下のようになります。各メールアドレスと題名の条件を考慮に入れたスクリプトを作成します。
function deleteSpecificEmailsPeriodically() {
// 検索クエリのリスト
var queries = [
'from:"dマーケット" <message_r@mail2.apl01.spmode.ne.jp>',
'from:"dショッピング" <message_r@mail2.apl01.spmode.ne.jp>',
'from:"Google" <no-reply@accounts.google.com> subject:"セキュリティ通知"',
'from:"no-reply@bitflyer.com" subject:"【bitFlyer】ログイン確認メール"'
];
queries.forEach(function(query) {
var threads = GmailApp.search(query);
for (var i = 0; i < threads.length; i++) {
GmailApp.moveThreadToTrash(threads[i]);
}
});
}
このスクリプトは、指定したメールアドレスと題名の条件に基づいてメールを検索し、見つかったメールをゴミ箱に移動します。
トリガーの設定(2日に一度実行)
- スクリプトエディタの画面で「トリガー」アイコン(時計のアイコン)をクリックします。
- 右下の「トリガーを追加」をクリックします。
- 実行する関数として「deleteSpecificEmailsPeriodically」を選択します。
- イベントのソースとして「時間主導型」を選択します。
- 「時間ベースのトリガーのタイプを選択」で「日タイマー」を選び、「間隔」で「2日ごと」を選択します。
以上で、指定された条件に一致するメールが2日に一度削除されるように設定されます。設定する際は、重要なメールが誤って削除されないように注意してください。また、初めてスクリプトを実行する際には、Googleから権限の承認を求められますので、指示に従って承認してください。
GASリンク
Google Apps Script(GAS)にアクセスするには、以下のURLを使用できます:
このリンクを開くと、Google Apps Scriptのダッシュボードが表示され、新しいプロジェクトを作成したり、既存のプロジェクトにアクセスしたりすることができます。Googleアカウントでログインしている必要があります。
こんな感じで勝手に消してもらおうと思う。
書いてあるのは、あくまで例。