Gmail은 30 일 후 자동으로 사용자가 삭제 한 모든 이메일을 삭제합니다. 이 기본 동작을 7 일로 변경하는 방법이 있습니까?

답변

아니요, 기본 Gmail 휴지통 동작을 변경할 수있는 방법이 없습니다. 여기에는 기간을 더 짧게 또는 더 길게 만드는 것이 포함됩니다. .


비슷한 작업을 수행하는 자신 만의 휴지통을 만들 수는 있지만 일종의 고통이며 원하는 작업을 수행하지 않습니다. 사용자 정의 레이블을 추가해야합니다. 매번 삭제 버튼을 클릭하는 것 외에는 ( “라벨”버튼을 누른 다음 사용자 정의 휴지통 라벨을 통해).

그런 다음 “다음에”단어 포함 “필터 (한 번,”설정 “->”필터 및 차단 된 주소 “->”새 필터 만들기 “)를 만들어야합니다. label:custom-trash older_than:7d 작업이 Delete it ( “이 검색으로 필터 만들기”-> “확인”-> “삭제”)).

하지만 이것은 Gmail의 휴지통으로 만 보냅니다.


이 시점에서 휴지통을 자동으로 삭제하려면 사용자 스크립트가 휴지통 폴더를 열어야합니다 (), “지금 휴지통 비우기”버튼을 클릭 (document.querySelector(".ya span").click() 사용) 한 다음 “확인”버튼을 클릭합니다 (document.querySelector(".Kj-JD-Jl button").click()


TL; DR : 아니요, 불가능합니다.

답변

예, 가능하지만 사용자 정의 Google Apps Script를 만들어야합니다. 간단히 말해서 이렇게하는 방법은 다음과 같습니다.

  • Gmail에 로그인 한 경우 및 새 스크립트 프로젝트를 만듭니다.
  • 해당 프로젝트를 열고 새 스크립트 파일을 만듭니다. 스크립트를 넣으십시오 (예는 아래 참조).
  • 리소스 메뉴로 이동 한 다음 “고급 Google 서비스”하위 메뉴를 선택한 다음 “Gmail API”옵션을 활성화해야합니다.
  • li>
  • 고급 Google 서비스 창에 “이 서비스는 Google Cloud Platform API 대시 보드에서도 사용 설정해야합니다.”라고 표시됩니다. 따라서 해당 링크를 따라 해당 API도 활성화해야합니다.
  • 마지막으로 선택한 간격 (매시간, 매일 등)으로 스크립트를 호출하는 트리거를 하나 이상 만들어야합니다. , 또는 선택한 다른 이벤트를 기반으로합니다.

다음은 온라인에서 다른 소스를 기반으로 만든 다양한 라벨 (폴더)에서 원하지 않는 이메일을 삭제하는 Google Apps 스크립트입니다. 이 코드는 어떠한 보증도없이 제공되며 사용자의 책임하에 사용해야합니다. 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 Apps Script입니다. 원하는 기간 동안 이메일을 보관하도록 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"); } } 

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다