본문 바로가기
IT/Digital Life

Gmail 자동 삭제 설정하기 (Gmail 자동 삭제 스크립트_Google Apps Script) #"소셜, 프로모션, 업데이트, 포럼" 카테고리로 분류되는 메일 삭제 (중요, 별표 표시 제외)

by 르미르미 2024. 12. 13.

메일 관리가 너무 귀찮은 나.. 

몇 일 지난 (예를 들어 30일) 메일을 자동으로 삭제하도록 설정하고자 하였다. 

Outlook에 있는 자동삭제 기능이 Gmail에 없다니 좀 당황하면서 방법을 찾았다.

일반적으로 라벨을 설정하여 라벨별로 모은 다음에 직접 삭제하는 방법도 좋지만, 

개인적으로 자동으로 휴지통으로 보내버리는 것을 선호하는 편이다. 

 

일반적인 메일이 휴지통으로 가버리면 안되기 때문에.. 

특히 소셜, 프로모션, 업데이트, 포럼 카테고리로 분류되는 메일들만 삭제하기로 하였다.

(Gamil - 설정(톱니바퀴) - 모든 설정 보기 - 라벨 - 카테고리 - 표시) 

 

여기에 더하여 중요 또는 별표 표시 메일을 제외하는 스크립트이다. 

 

한마디로, 

-> "소셜, 프로모션, 업데이트, 포럼" 카테고리로 분류되는 메일 삭제 (중요, 별표 표시 제외) 

하는 스크립트이다. 

 

 

1. Google Apps Script 열기

  1. Google Drive로 이동: drive.google.com
  2. 좌측 상단의 + 새로 만들기 버튼 클릭 → 더보기Google Apps Script 선택.

2. 스크립트 작성

  1. 새 프로젝트 생성:
    프로젝트 이름을 "Gmail 자동화 스크립트" 등으로 설정
  2. 아래 코드를 복사하여 붙여넣기
function deleteOldEmailsByCategory() {
  //삭제할 카테고리와 기간 설정
  var categories = ['social', 'promotions', 'updates', 'forums']; // 카테고리
  var daysOld = 30; // 몇 일 지난 메일 삭제

  categories.forEach(function(category) {
    // 중요, 별표 표시 메일은 제외: category:X AND older_than:Xd AND NOT is:important
    var query = 'category:' + category + ' older_than:' + daysOld + 'd -is:important -is:starred'';
    var threads = GmailApp.search(query); 
    Logger.log('Found ' + threads.length + ' threads in category: ' + category);

	// 검색된 메일 삭제
    threads.forEach(function(thread) {
      thread.moveToTrash(); // 휴지통으로 이동
    });

    Logger.log('Deleted ' + threads.length + ' threads in category: ' + category);
  });
}

 

3. 스크립트 실행 테스트

  1. 스크립트 저장 
  2. 함수 선택 
  3. 스크립트 실행
    1. ▶ 실행 버튼을 클릭.
    2. 처음 실행하는 경우 Google 권한 승인 요청 팝업.
      • 권한 요청 절차:
        1. Google 계정을 선택.
        2. "이 앱은 Google에서 인증되지 않았습니다" 메시지가 나오면 고급 → 프로젝트로 이동을 클릭.
        3. 권한을 허용.
  4. 실행 로그 확인
    1. 보기  로그에서 삭제될 메일의 개수를 확인.

 

      •  

4. 스크립트 자동 실행 설정 (트리거 설정)

스크립트를 자동으로 실행하도록 트리거를 설정.

  1. 상단 메뉴트리거(시계 아이콘) 클릭 또는 "도구 → 트리거" 선택.
  2. 트리거 추가 버튼 클릭.
    • 실행할 함수: deleteOldEmailsByCategory 선택.
    • 이벤트 소스: 시간 기반 선택.
    • 주기 설정: 매일, 매주 등 원하는 주기로 설정.
  3. 저장 후 완료.

 

 

스크립트 실행 테스트를 하면, 기존에 있던 메일들을 한번에 삭제를 하게 된다. 

이때, 메일이 잔뜩 쌓여있다면 (500개 이상..), 스크립트 실행이 엄청 오래걸리게 된다. 

하지만 처음 위기를 넘기고 나면 앞으로는 스크립트가 자동으로 실행 될 예정이므로 문제가 없다! 

나는 일주일에 한번 실행되도록 했다. 

뿌듯하군~

댓글