Gmailは30日以内に自動的に送信され、ユーザーがゴミ箱に移動したすべてのメールを削除します。このデフォルトの動作を7日に変更する方法はありますか?

回答

いいえ、デフォルトのGmailのゴミ箱の動作を変更する方法はありません。これには、期間を短くしたり長くしたりすることも含まれます。 。


似たようなことをする独自のゴミ箱を作成できますが、それは一種の苦痛であり、実際にはあなたが望むことをしません。カスタムラベルを追加する必要があります。毎回削除ボタンをクリックする以外([ラベル]ボタンを使用してから、カスタムのごみ箱ラベルを使用)。

次に、「単語があります」というフィルターを作成する必要があります(1回、[設定]-> [フィルターとブロックされたアドレス]-> [新しいフィルターの作成]の下)label:custom-trash older_than:7dアクションDelete it(「この検索でフィルターを作成」->「OK」->「削除」)

ただし、これはGmailのゴミ箱にのみ送信されます。


この時点でゴミ箱の削除を自動化するには、ユーザースクリプトでゴミ箱フォルダを開く必要があります()、[今すぐゴミ箱を空にする]ボタン(document.querySelector(".ya span").click()を使用)をクリックしてから、[OK]ボタン(document.querySelector(".Kj-JD-Jl button").click())。ただし、それでもページを開いたまま実行する必要があるため、フィルタが役に立たなくなります…


TL; DR :いいえ、できません。

回答

はい、可能ですが、カスタムのGoogle AppsScriptを作成する必要があります。これを行う方法を簡単に説明します。

  • Gmailにログインしている場合は、 そして新しいスクリプトプロジェクトを作成します。
  • そのプロジェクトを開き、新しいスクリプトファイルを作成します。スクリプトをその中に入れます(例については以下を参照してください)
  • [リソース]メニューに移動し、[高度なGoogleサービス]サブメニューを選択して、[GmailAPI]オプションを有効にする必要があります。
  • [高度なGoogleサービス]ペインに、「これらのサービスはGoogle Cloud PlatformAPIダッシュボードでも有効にする必要があります」と表示されます。そのため、そのリンクをたどり、そのAPIも有効にする必要があります。
  • 最後に、選択した間隔(毎時、毎日など)でスクリプトを呼び出すトリガーを少なくとも1つ作成する必要があります。 、または選択した他のイベントに基づいています。

これは、オンラインの他のソースに基づいて作成したさまざまなラベル(フォルダ)から不要なメールを削除するためのGoogle AppsScriptです。 このコードは、いかなる保証もなしに提供されています。ご自身の責任で使用してください。 Gmail.Users.Threads.remove()関数を誤用すると、重要なメールが完全に失われる可能性があります

/* Delete all emails from the given email address in the given label. */ function deleteEmailsFrom(fromEmailAddress, inLabel) { var queryEmailsToDelete = "from:" + fromEmailAddress + " in:" + inLabel; var permanentlyDeleteThreads = true; var pageToken; do { var threadList = Gmail.Users.Threads.list("me", { q: queryEmailsToDelete, pageToken: pageToken }); if (threadList.threads && threadList.threads.length > 0) { threadList.threads.forEach(function(thread) { Logger.log("About to delete this email thread: id: %s, snippet: %s", thread.id, thread.snippet); if (permanentlyDeleteThreads) { Gmail.Users.Threads.remove("me", thread.id); Logger.log("Deleted this email thread: id: %s, snippet: %s", thread.id, thread.snippet); } }); } pageToken = threadList.nextPageToken; } while (pageToken); } /* Delete all emails from the given email address in both Spam and Trash folders. */ function deleteSpamOrTrashEmailsFromAddress(fromEmailAddress) { deleteEmailsFrom(fromEmailAddress, "trash"); deleteEmailsFrom(fromEmailAddress, "spam"); } function deleteUnwantedSpamOrTrashEmails() { deleteSpamOrTrashEmailsFromAddress("[email protected]"); deleteSpamOrTrashEmailsFromAddress("[email protected]"); deleteSpamOrTrashEmailsFromAddress("[email protected]"); } 

回答

これは、私が作成して毎日実行しているGoogle AppsScriptです。 Gmailのゴミ箱をカスタマイズして、メールを好きなだけ保持することができます。

//INSTRUCTIONS // 1. Create two lables in Gmail: SYSTEM/reset & SYSTEM/moved // 2. Set how long you want to retain mail in trash on lines 31-34 (5m = 5 months) // 3. Setup a trigger to run this script at least as many times a day as emails you expect to accumulate in your trash over the time you selected (1 trigger a day = preserve up to 1000 emails in trash; 2 triggers a day = preserve up to 2000 emails in trash) //HOW IT WORKS // Deleted Emails are moved out of your trash and immediately back in, thus restarting the 30 day deletion time // Labels are used to keep track of which emails have been moved //WHY DAILY TRIGGERS ARE NEEEDED // Google limits script to edit up to 100 emails at a time function extendTrashTime() { function move(moved_label, empty_threads) { GmailApp.moveThreadsToArchive(empty_threads); GmailApp.moveThreadsToTrash(empty_threads); moved_label.addToThreads(empty_threads); } function reset(reset_label, moved_label, moved_threads) { reset_label.addToThreads(moved_threads); moved_label.removeFromThreads(moved_threads); } function empty(reset_label, reset_threads) { reset_label.removeFromThreads(reset_threads); } let moved_label = GmailApp.getUserLabelByName("SYSTEM/moved"); let reset_label = GmailApp.getUserLabelByName("SYSTEM/reset"); // CHANGE TIME TO RETAIN MAIL IN THE THREE LINES BELOW let moved_threads = GmailApp.search("in:trash newer_than:5m -label:SYSTEM/ignore label:SYSTEM/moved", 0, 100); let reset_threads = GmailApp.search("in:trash newer_than:5m -label:SYSTEM/ignore label:SYSTEM/reset", 0, 100); let empty_threads = GmailApp.search("in:trash newer_than:5m -label:SYSTEM/ignore -label:SYSTEM/moved -label:SYSTEM/reset", 0, 100); let moved_total = moved_threads.length; let reset_total = reset_threads.length; let empty_total = empty_threads.length; Logger.log("moved_total", moved_total); Logger.log("reset_total", reset_total); Logger.log("empty_total", empty_total); if (moved_total >= 0 && reset_total === 0 && empty_total > 0) { Logger.log("Phase 1: move emails & label with moved"); move(moved_label, empty_threads); } else if (moved_total > 0 && reset_total >= 0) { Logger.log("Phase 2: remove moved label and replace with reset label"); reset(reset_label, moved_label, moved_threads); } else if (moved_total === 0 && reset_total > 0) { Logger.log("Phase 3: remove reset label"); empty(reset_label, reset_threads); } else { Logger.log("No results for empty_threads query"); } } 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です