[Claude Code] Gmail 프로모션 메일 자동 삭제(초보자용)

한줄 요약

매일 15-30분씩 소요되던 Gmail 프로모션 메일 정리를 Claude Code로 자동화하여 월 9시간(연 108시간)을 절약했습니다. API 설정부터 터미널 커맨드까지 초보자도 따라할 수 있는 완전한 가이드입니다.

이런 분들께 도움돼요

  • Gmail 프로모션 메일 때문에 스트레스 받는 직장인

  • 자동화를 처음 시도해보는 비개발자

  • Claude Code로 첫 자동화 프로젝트를 시작하고 싶은 분

  • AI를 신뢰할 수 있을지 궁금한 분


소개: 시도하고자 했던 것과 그 이유

문제 상황 (Before)

Gmail을 열 때마다 프로모션 메일이 수십 개씩 쌓여 있었습니다. 매일 아침 메일함을 정리하는 데 15-30분이 걸렸고, 중요한 메일을 놓칠까 봐 걱정도 됐어요.

시간 소비:

  • 하루: 15-30분

  • 월: 약 10시간

  • 연: 약 120시간

이 시간을 다른 생산적인 일에 쓸 수 있다면 얼마나 좋을까 생각했습니다.

시작하게 된 계기

Gmail 프로모션 메일이 너무 많이 와서 스트레스였어요. 자동으로 걸러주었으면 좋겠다고 생각하면서도 막막했죠.그러다 gpters 20기 스터디에 참여하면서 진여진 스터디장님의 자동화 아이디어를 접하게 되었어요. "배워볼 겸 시작해보자"라는 생각으로 용기를 냈습니다.

놀라웠던 점: 생각보다 쉽고 간편했어요. 지금은 매우 만족하며 사용하고 있습니다!

첫 자동화 목표로 선택한 이유:

  • 매일 반복되는 작업

  • 단순하고 명확한 룰 (프로모션 메일 = 삭제)

  • 결과를 바로 확인할 수 있음

  • 실패해도 큰 손해가 없음 (휴지통에서 복구 가능)

  • 초보자로서 시작하기 좋은 아이템


진행 방법: 어떤 도구를 사용했고, 어떻게 활용했나요?

사용한 도구

  • 도구: Claude Code (CLI)

  • 모델: Claude Sonnet 4.5

  • 언어: Python 3.12

  • API: Gmail API (Google)

AI와 협업한 전체 과정

1단계: 요구사항 명확화

처음엔 막연하게 "이메일 정리를 자동화하고 싶다"는 생각만 있었어요.

이렇게 요청했어요:

Claude, 매일 이메일 확인하고 중요한 것만 분류하는 작업을 자동화하고 싶어. 어떻게 하면 좋을까?

Claude의 응답:

Claude Code가 /clarify 명령어를 추천해줬어요. 이 명령어를 실행하니 질문을 하나씩 던지더라고요:

  • 어떤 이메일 서비스를 쓰세요? (Gmail)

  • 얼마나 자주 하는 작업인가요? (매일)

  • 가장 불편한 부분은? (광고 메일 삭제)

  • 최소 기능(MVP)은? (프로모션 메일 자동 삭제)

느낀 점:

막연한 고민이 구체적인 목표로 바뀌는 순간이었어요. 질문에 답하다 보니 제가 진짜 원하는 게 뭔지 명확해졌습니다.


2단계: Gmail API 설정 (제일 어려웠던 부분)

Claude가 단계별로 안내해줬어요.

이렇게 요청했어요:

Gmail API를 사용하려면 어떻게 해야 해? Google Cloud Console 설정이 필요하다고 하는데, 처음이라 어려워.

Claude의 가이드:

  1. Google Cloud Console 접속

  2. 프로젝트 생성 ("Gmail Cleaner")

  3. Gmail API 활성화

  4. OAuth 2.0 클라이언트 ID 생성

  5. credentials.json 다운로드

막혔던 순간 1: OAuth 동의 화면 설정

처음 설정할 때 "User Type"을 선택하는데, "내부"와 "외부" 중 뭘 선택해야 할지 몰랐어요.

내부와 외부 중 뭘 선택해야 해?

Claude가 친절하게 설명해줬어요:

  • 개인 Gmail 계정이면 "외부(External)" 선택

  • 테스트 사용자에 본인 이메일 추가 필수

막혔던 순간 2: 403 Access Denied 오류

첫 실행 시 403 오류가 났어요. 당황했죠.

403 오류가 나는데 왜 그럴까?

Claude가 바로 원인을 찾아줬어요:

  • OAuth 동의 화면의 "테스트 사용자"에 이메일이 등록되지 않음

  • 해결: 테스트 사용자에 본인 이메일 추가

이 과정에서 느낀 점:

막힐 때마다 Claude가 친절하게 설명해주고 길을 안내해줘서 해결하게 되었습니다.

"아, AI를 신뢰해도 되는구나. 어떨 때는 의지하게 되는구나"

이런 감정이 느껴졌어요. 가장 어렵고 시간이 오래 걸린 부분이었지만, Claude가 없었다면 포기했을 거예요.


3단계: Python 스크립트 작성

API 설정이 끝나니 이제 코드를 작성할 차례였어요.

이렇게 요청했어요:

Gmail 프로모션 카테고리의 메일을 자동으로 삭제하는 스크립트를 만들어줘. 단, 완전 삭제가 아니라 휴지통으로 이동하게 해줘. (실수로 중요한 메일을 삭제할까 봐 걱정) 그리고 한 번에 너무 많이 삭제하지 않게 최대 개수 제한도 넣어줘.

Claude의 응답:

Claude가 두 개의 Python 파일을 만들어줬어요:

  1. setup_gmail_auth.py - OAuth 인증 처리

  2. delete_promotion_emails.py - 프로모션 메일 삭제

코드 대신 자연어 로직:

1. Gmail API로 로그인
2. 프로모션 카테고리에서 메일 검색
   - 조건: 최근 30일 이내, 읽지 않은 메일
3. 찾은 메일을 휴지통으로 이동 (완전 삭제 X)
4. 최대 100개까지만 처리 (안전장치)

"오!" 했던 순간:

처음 스크립트를 실행했을 때, 터미널에서 "100개의 프로모션 메일을 발견했습니다"라는 메시지를 보고 소름이 돋았어요. 정말 작동하는구나!

python delete_promotion_emails.py --dry-run
# → 100개의 프로모션 메일 발견!

느낀 점:

비개발자인 제가 직접 코드를 짜지 않았어도, 자연어로 설명만 하면 Claude가 알아서 만들어줬어요.

정말 쉬웠습니다!


4단계: 사용 편의성 개선

스크립트가 작동하긴 하는데, 매번 긴 경로를 입력하는 게 불편했어요.

cd ~/gpters-20th-duwls-templates-main/.claude/skills/gmail-cleaner/scripts
python delete_promotion_emails.py

이렇게 요청했어요:

터미널 어디서나 간단한 명령어로 실행할 수 있게 해줘. 예를 들어 gmail-clean이라고만 치면 실행되면 좋겠어.

Claude의 해결책:

Claude Code의 커맨드 기능을 활용하여 .claude/commands/gmail-clean.md 파일을 만들어줬어요. 이제 터미널에서:

/gmail-clean

이렇게만 입력하면 바로 실행됩니다!


5단계: 터미널 커맨드 문제 해결 (오늘 세션)

그런데 며칠 후 다른 터미널에서 /gmail-clean을 입력했더니 작동하지 않았어요.

이렇게 요청했어요:

왜 터미널에서 커맨드가 안 되는 거지? gmail-clean 이 커맨드

Claude의 진단과 해결:

Claude가 바로 문제를 찾아줬어요:

  • 커맨드 파일이 프로젝트 로컬 디렉토리에만 있음

  • 전역 디렉토리(~/.claude/commands/)로 복사 필요

그리고 바로 복사 명령어를 실행해서 해결해줬어요.

cp 로컬_경로/*.md ~/.claude/commands/

느낀 점:

이 순간 확실히 느꼈어요. "AI를 의지하게 되는구나".

제가 모르는 문제를 Claude가 빠르게 진단하고 해결해주니, 이제는 막힐 때마다 자연스럽게 Claude에게 물어보게 되더라고요.


💡 Tip: 로컬 커맨드 vs 전역 커맨드

Claude Code는 두 곳의 커맨드를 인식합니다:

1. 로컬 커맨드 (프로젝트폴더/.claude/commands/)

  • 해당 프로젝트를 VSCode로 열었을 때만 사용 가능

  • 특정 프로젝트 전용 커맨드 (예: 이 프로젝트의 테스트, 빌드 등)

2. 전역 커맨드 (~/.claude/commands/)

  • 어떤 프로젝트를 열든 항상 사용 가능

  • 터미널 어디서든 사용 가능

  • 범용 도구에 적합 (예: Gmail 자동화, 일상 자동화 등)

Gmail 자동화의 경우:

  • 처음엔 로컬에만 있어서 프로젝트 열었을 때만 작동 ✅

  • 다른 프로젝트 열거나 다른 폴더에서는 작동 안 함 ❌

  • 전역으로 복사하니 어디서든 사용 가능 ✅

초보자 추천: 자주 쓰는 자동화는 전역에 저장하세요!


인상적이었던 순간들 (믹싱)

1. 에러를 복사만 해도 해결책을 알려줌

403 오류가 났을 때, 에러 메시지를 그대로 복사해서 Claude에게 보여줬더니, 원인부터 해결 방법까지 단계별로 설명해줬어요.

2. 제가 놓친 안전장치를 먼저 제안해줌

처음 요청할 때 "완전 삭제"만 생각했는데, Claude가 먼저 "휴지통으로 이동하는 게 안전하다"고 제안해줬어요. 실수로 중요한 메일을 삭제할 수 있다는 걸 미리 생각해준 거죠.

3. 옵션을 여러 개 만들어줌

  • --dry-run: 삭제하지 않고 미리보기만

  • --auto-confirm: 확인 없이 자동 삭제

  • --max-results N: 최대 N개까지만 처리

  • --include-read: 읽은 메일도 포함

제가 요청하지 않았는데도, 다양한 상황에서 쓸 수 있게 옵션을 미리 만들어줬어요.


막혔던 순간과 해결

1. OAuth 설정의 늪

Google Cloud Console 화면이 너무 복잡해서 어디를 클릭해야 할지 몰랐어요. 하지만 Claude가 단계별로 안내해주고, 막힐 때마다 물어보니 친절하게 길을 안내해줘서 해결하게 되었습니다.

2. 용어가 어려움

"OAuth 2.0", "credentials.json", "scope" 같은 용어들이 생소했어요. 하지만 Claude에게 "이게 뭐야?"라고 물어보면 쉬운 말로 설명해줬어요.

예: "OAuth는 구글에 '이 앱이 내 Gmail을 읽어도 돼'라고 허락받는 과정이에요."

3. 파일 경로 혼란

처음엔 파일들을 어디에 저장해야 할지 몰랐어요. Claude가 폴더 구조를 만들어주고, 각 파일이 왜 거기에 있어야 하는지 설명해줘서 이해할 수 있었어요.

4. 터미널 커맨드가 특정 위치에서만 작동

로컬 프로젝트에서는 작동했는데, 다른 터미널에서는 안 됐어요. 알고 보니 전역 설정이 필요했던 거죠. Claude가 바로 진단하고 해결해줬어요.


결과와 배운 점

Before vs After

항목

Before

After

절약

하루 소요 시간

15-30분

10-20초

약 20분

월 소요 시간

약 10시간

1시간 미만

9시간

연 소요 시간

약 120시간

12시간 미만

108시간

스트레스

😫 높음

😊 없음

-

결과물

  1. Gmail 자동 삭제 스크립트

    • 프로모션 메일 자동 감지

    • 휴지통으로 안전하게 이동

    • 최근 30일 이내 메일만 처리

  2. 터미널 커맨드

    • /gmail-clean: 확인 후 삭제

    • /gmail-clean-preview: 미리보기만

    • /gmail-clean-auto: 자동 삭제

  3. 실제 사용 결과

    • 매일 아침 /gmail-clean 한 번으로 메일함 정리 완료

    • 월 9시간 절약으로 책 읽기, 운동 등 다른 활동에 시간 투자 가능

    • 정말 쉽고 간편해서 매우 만족!



과정 중 시행착오

1. 처음엔 Python을 몰랐어요

비개발자인 저는 Python을 한 줄도 모르는 상태에서 시작했어요. 하지만 Claude가 코드를 다 짜주고, 실행 방법만 알려줘서 문제없이 진행할 수 있었어요.

배운 점: 코딩을 몰라도 자동화는 할 수 있습니다. 자연어로 설명만 잘하면 돼요.

2. Google Cloud Console이 너무 복잡했어요

화면이 복잡하고 메뉴가 많아서 처음엔 길을 잃었어요. 하지만 Claude에게 "지금 이 화면에서 뭘 클릭해야 해?"라고 물어보니 단계별로 안내해줬어요.

배운 점: 막히면 바로 Claude에게 물어보세요. 스크린샷을 공유하면 더 정확하게 알려줍니다.

3. 터미널 명령어가 작동 안 했어요

로컬 프로젝트에서는 작동했는데, 다른 터미널에서는 안 됐어요. 알고 보니 전역 설정이 필요했던 거죠.

배운 점: 설정 문제도 Claude가 빠르게 진단하고 해결해줍니다. "왜 안 돼?"라고 물어보면 끝!


가장 큰 깨달음

"AI를 신뢰하고, 때로는 의지하게 되었다"

처음엔 "AI가 정말 제대로 해줄까?" 하는 의구심이 있었어요. 하지만 막힐 때마다 Claude가 친절하게 설명해주고, 길을 안내해주면서 해결하게 되었습니다.

그 경험을 통해 "AI를 신뢰해도 되는구나, 어떨 때는 의지하게 되는구나"라는 감정이 느껴졌어요.

이제는 막히는 순간이 오면 자연스럽게 Claude에게 물어보게 되더라고요. "아, 이건 Claude에게 물어보면 되겠다" 하는 생각이 먼저 드는 거죠.

"아는 것과 모르는 것의 큰 차이"

Claude Code를 알기 전에는 자동화가 너무 어려워 보였어요. 하지만 지금은 "이것도 자동화할 수 있겠는데?"라는 생각이 자동으로 들어요.

이 밖에도 많은 부분에서 자동화를 이룰 수 있겠다는 생각이 들었어요.

  • 달리기 데이터를 블로그에 자동 업로드?

  • 음성메모를 자동으로 정리?

  • 주간 보고서 데이터 취합?

모두 가능하다는 걸 이제 알게 되었어요.

"시간과 에너지 누적 → 생산적인 사람"

월 9시간, 연 108시간을 절약한다는 건 단순히 시간만 아끼는 게 아니에요.

그 시간과 에너지를 다른 생산적인 일에 쓸 수 있다는 거죠.

  • 책 읽기

  • 운동하기

  • 가족과 시간 보내기

  • 새로운 자동화 만들기

이렇게 자동화를 많이 사용하면 그 시간과 에너지가 누적되어 나를 좀 더 생산적인 사람으로 만들 수도 있겠다는 생각이 들었어요.


앞으로의 계획

다음 자동화 아이템

  1. 달리기 데이터 → 블로그 자동 업로드

    • 매일 달리기를 뛰는데, 그 데이터를 1주일에 한 번 블로그에 올려요

    • 이 과정을 자동화하고 싶어요!

  2. 음성메모 자동 정리 보강

    • 현재 음성메모를 기록하고 저장하는 자동화를 만들었는데

    • 그 부분도 더욱 보강하고 싶어요

    • (키워드 추출, 카테고리 분류, 검색 기능 등)

  3. 주간 보고서 데이터 취합

    • 원래 목표였던 두 번째 자동화

    • Gmail 자동화 경험을 바탕으로 도전할 예정

느낌

자동화를 생각하게 하는 많은 것들이 있어서 신기하고 신나요!

매일 반복되는 작업들을 보면 "이것도 자동화할 수 있겠는데?"라는 생각이 자동으로 들어요. 이제 제 일상 곳곳에서 자동화 가능성이 보입니다.

도움이 필요한 부분

  • 달리기 데이터를 어떻게 수집해야 할지 (API? 앱 연동?)

  • 블로그 업로드는 어떤 방식이 좋을지

  • 음성메모 분석 및 분류 아이디어

커뮤니티에서 조언 구하고 싶어요!



도움 받은 글

참고한 자료

  • gpters 스터디: 진여진 스터디장님의 자동화 아이디어

2개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요