
답부터 말하면, Gmail 첨부파일을 Google Drive에 자동 저장하려면 먼저 “어떤 메일만 가져올지” 검색 조건을 고정하고, 저장할 Drive 폴더와 중복 처리 기준을 정한 뒤, Apps Script에서 Gmail 서비스와 Drive 서비스를 연결하면 됩니다. 처음부터 모든 메일을 대상으로 만들기보다 거래처별 라벨, 제목 키워드, 보낸 사람, 기간 조건을 좁혀 테스트해야 파일 누락과 중복 저장을 줄일 수 있습니다.
핵심 요약: ① Gmail 검색 조건을 먼저 정리합니다. ② Drive에 자동 저장 전용 폴더를 만듭니다. ③ Apps Script에서 GmailApp으로 메일과 첨부파일을 찾고 DriveApp으로 파일을 저장합니다. ④ 처리 완료 라벨이나 파일명 규칙을 둡니다. ⑤ 도구 화면, 권한 요청, 실행 한도, 유료 플랜 조건은 바뀔 수 있으므로 실제 적용 전 Google 공식 문서를 다시 확인합니다.
1. 이 자동화가 필요한 상황부터 좁히기
메일 첨부파일 자동 저장은 “편한 기능”처럼 보이지만, 실제로는 업무 흐름을 정리하는 작업입니다. 예를 들어 매일 들어오는 매출 리포트, 주간 광고 성과 파일, 외주 작업물, 일반 견적 참고자료, 디자인 시안, 회의 자료처럼 반복적으로 내려받는 문서가 있을 때 효과가 큽니다. 반대로 사람마다 메일 제목이 제각각이고 첨부파일 이름도 매번 다르다면 자동화 전에 라벨과 제목 규칙을 먼저 맞추는 편이 낫습니다.
처음 자동화를 만들 때는 “Gmail 전체 첨부파일 저장”을 목표로 잡지 마세요. 전체 메일을 훑으면 처리 시간이 길어지고, 불필요한 이미지 서명이나 로고 파일까지 Drive에 쌓일 수 있습니다. 실무에서는 “특정 발신자 + 제목 키워드 + 아직 처리하지 않은 메일”처럼 조건을 좁히고, 정상 동작을 확인한 뒤 범위를 넓히는 순서가 안전합니다.
2. 공식 문서 기준으로 이해할 핵심 서비스
Google Apps Script는 Gmail, Drive, Sheets 같은 Google 제품을 스크립트에서 다룰 수 있는 내장 서비스를 제공합니다. 공식 문서에서 Gmail 서비스는 스레드, 메시지, 라벨, 첨부파일 같은 Gmail 요소를 다룰 수 있다고 설명하고, Drive 서비스는 Drive의 파일과 폴더를 만들고 찾고 수정하는 기능을 제공합니다. 이 글의 흐름은 두 서비스를 연결해 “메일에서 첨부파일을 찾고 Drive 폴더에 저장”하는 방식입니다.
다만 도구 화면과 권한 안내 문구, 실행 한도, 조직 계정의 관리자 설정은 바뀔 수 있습니다. 개인 Google 계정과 회사 Google Workspace 계정에서도 보이는 메뉴와 허용 범위가 다를 수 있으니, 실제 적용 전에는 Apps Script 편집기와 Google 공식 도움말에서 현재 화면을 확인하는 것이 좋습니다.
3. 자동 저장 전에 정해야 할 5가지 기준
스크립트를 먼저 작성하면 나중에 예외 처리 때문에 꼬이기 쉽습니다. 아래 기준을 문서로 적어 둔 뒤 자동화를 시작하면 유지보수가 쉬워집니다.
- 대상 메일: 발신자, 제목 키워드, Gmail 라벨, 날짜 범위를 어떻게 구분할지 정합니다.
- 저장 위치: Drive 최상위가 아니라 자동 저장 전용 폴더를 만들고 폴더 ID를 기록합니다.
- 파일명 규칙: 원본 파일명만 쓸지, 날짜·발신자·메일 제목 일부를 붙일지 정합니다.
- 중복 처리: 같은 메일을 다시 실행했을 때 같은 파일을 또 저장하지 않도록 처리 완료 라벨이나 로그를 둡니다.
- 검토 방식: 처음에는 자동 삭제나 이동 없이 저장만 하고, 사람이 Drive 폴더를 확인하는 구조로 둡니다.
4. 기본 구성 순서
가장 단순한 구성은 Gmail 검색 → 메시지 확인 → 첨부파일 반복 → Drive 폴더 저장 → 처리 완료 표시입니다. Apps Script 편집기에서 새 프로젝트를 만들고, Drive 폴더 ID와 Gmail 검색 조건을 상수처럼 위에 적어 두면 나중에 바꾸기 쉽습니다. 예를 들어 검색 조건은 from:example.com has:attachment newer_than:7d처럼 시작할 수 있습니다. 실제 조건은 회사 메일 규칙과 파일 흐름에 맞춰 조정해야 합니다.
실행은 처음부터 시간 기반 트리거로 걸지 말고 수동 실행으로 시작하세요. 권한 요청이 뜨면 어떤 Google 서비스 접근을 요구하는지 읽고, 테스트 계정 또는 낮은 위험의 폴더에서 먼저 확인하는 편이 안전합니다. 저장이 확인되면 처리 완료 라벨을 붙이거나, 저장한 파일 이름을 스프레드시트에 기록하는 방식으로 다음 실행 때 중복을 피할 수 있습니다.
5. 실무형 설계 표
| 설계 항목 | 권장 방식 | 주의할 점 |
|---|---|---|
| 메일 검색 | 발신자, 제목, 라벨, 기간을 함께 사용 | 조건이 넓으면 서명 이미지까지 저장될 수 있음 |
| 저장 폴더 | 업무별 Drive 폴더를 분리 | 폴더 ID를 잘못 넣으면 다른 폴더에 쌓일 수 있음 |
| 파일명 | 날짜와 원본 파일명을 조합 | 같은 파일명이 반복되면 구분이 어려움 |
| 중복 방지 | 처리 완료 라벨 또는 로그 사용 | 메일을 다시 검색하면 같은 첨부파일이 재저장될 수 있음 |
| 운영 점검 | 실행 기록과 Drive 폴더를 주기적으로 확인 | 권한, 한도, 폴더 공유 설정은 바뀔 수 있음 |
6. Gmail 검색 조건을 안전하게 만드는 법
Gmail 검색 조건은 자동화 품질을 좌우합니다. 단순히 has:attachment만 쓰면 너무 많은 메일이 잡힙니다. 실무에서는 from:, subject:, filename:, newer_than:, 라벨 조건을 조합해 대상 범위를 줄이는 편이 좋습니다. 예를 들어 “매주 월요일 특정 SaaS에서 보내는 보고서”라면 발신자 도메인과 제목 키워드를 함께 넣고, 처리한 메일에는 별도 라벨을 붙여 다음 실행에서 제외하는 방식이 안정적입니다.
검색 조건을 바꿀 때는 Gmail 검색창에서 먼저 결과를 확인한 뒤 스크립트에 옮기세요. 사람이 눈으로 봤을 때도 맞는 결과가 나와야 자동화가 안전합니다. 검색 결과가 너무 적으면 누락이 생기고, 너무 많으면 불필요한 파일이 쌓입니다.
7. Drive 폴더와 파일명 규칙 정하기
Drive 저장 폴더는 자동화 전용으로 분리하는 것이 좋습니다. “Gmail 자동 저장/거래처A/2026”처럼 구조를 나누면 권한 관리와 파일 정리가 쉬워집니다. 파일명은 원본 파일명만 그대로 저장하기보다 날짜나 메일 제목 일부를 붙이면 검색성이 좋아집니다. 다만 파일명에 특수문자가 많거나 제목이 길면 Drive에서 보기 불편할 수 있으므로 필요한 부분만 남기는 규칙이 필요합니다.
또 하나 중요한 점은 공유 권한입니다. 자동 저장 폴더가 팀 공유 드라이브에 있을 때는 스크립트 실행 계정의 접근 권한이 충분한지 확인해야 합니다. 조직 관리자 설정에 따라 Apps Script 접근이나 Drive SDK 관련 동작이 제한될 수 있으므로, 회사 계정에서는 관리자 정책과 워크스페이스 보안 설정을 함께 점검해야 합니다.
8. 중복 저장을 막는 운영 패턴
자동화에서 가장 흔한 문제는 같은 첨부파일이 계속 저장되는 것입니다. 이를 막으려면 처리 완료 라벨을 붙이는 방법, 저장 로그를 시트에 남기는 방법, 파일명에 메시지 ID나 날짜를 반영하는 방법 중 하나를 선택해야 합니다. 초보 단계에서는 처리 완료 라벨이 이해하기 쉽습니다. 스크립트가 저장을 마친 메일에 “Drive저장완료” 같은 라벨을 붙이고, 다음 검색에서는 해당 라벨이 없는 메일만 찾는 방식입니다.
다만 라벨 이름을 바꾸거나 사람이 라벨을 삭제하면 중복 방지 로직이 깨질 수 있습니다. 중요한 업무라면 스프레드시트 로그를 함께 남겨 “메일 ID, 첨부파일 이름, 저장 시각, 저장 폴더”를 기록하는 구조가 더 안정적입니다.
9. 권한 요청과 실행 한도 확인
Apps Script는 Gmail과 Drive에 접근하므로 처음 실행할 때 권한 승인이 필요합니다. 권한 화면에서 요구하는 접근 범위가 업무 목적에 맞는지 확인하고, 공유 PC나 개인 계정에 섞어 만들지 않는 것이 좋습니다. 회사 계정에서는 관리자 승인, 외부 앱 제한, 계정 보안 설정에 따라 실행이 막힐 수 있습니다.
또한 시간 기반 트리거를 너무 자주 실행하면 한도나 실행 시간 문제가 생길 수 있습니다. 파일 수가 많거나 첨부 용량이 큰 메일을 대상으로 할 때는 한 번에 처리하는 스레드 수를 제한하고, 실패했을 때 어디까지 처리됐는지 확인할 로그를 남기는 편이 좋습니다. Google의 기능, 화면, 한도, 요금제 조건은 변경될 수 있으므로 운영 전 최신 공식 문서를 확인해야 합니다.
10. 처음 적용할 때 추천하는 테스트 절차
- 테스트용 Gmail 라벨과 Drive 폴더를 만듭니다.
- 첨부파일 2~3개가 들어 있는 샘플 메일만 대상으로 검색 조건을 만듭니다.
- Apps Script에서 수동 실행하고 권한 요청을 확인합니다.
- Drive 폴더에 파일이 저장되는지, 파일명이 읽기 쉬운지 확인합니다.
- 다시 실행했을 때 같은 파일이 중복 저장되지 않는지 확인합니다.
- 정상 동작이 확인되면 시간 기반 트리거를 낮은 빈도로 설정합니다.
- 1주일 정도 실행 기록을 확인한 뒤 조건을 넓힙니다.
11. 자주 생기는 문제와 점검 포인트
첫째, 첨부파일이 저장되지 않는다면 검색 조건부터 확인하세요. Gmail 검색창에서 같은 조건을 넣었을 때 실제 메일이 보여야 합니다. 둘째, 권한 오류가 나면 실행 계정이 대상 Gmail과 Drive 폴더에 접근할 수 있는지 확인해야 합니다. 셋째, 파일이 너무 많이 저장된다면 서명 이미지나 작은 아이콘 파일까지 포함된 것일 수 있습니다. 이 경우 파일 확장자, 파일 크기, 메일 제목 조건을 추가해 범위를 줄입니다.
넷째, 회사 계정에서만 실패한다면 관리자 설정을 확인해야 합니다. 개인 계정에서는 되지만 조직 계정에서는 Apps Script 또는 Drive 접근이 제한될 수 있습니다. 다섯째, 자동화가 갑자기 멈췄다면 Apps Script 실행 기록, 트리거 상태, 권한 만료 여부, Google Workspace 공지와 공식 문서 변경 사항을 확인합니다.
12. 마무리: 작은 범위부터 자동화해야 오래 간다
Gmail 첨부파일 Drive 자동 저장은 반복 다운로드 시간을 줄이는 좋은 업무 자동화입니다. 하지만 성공 포인트는 스크립트 코드 자체보다 검색 조건, 저장 폴더, 중복 방지, 실행 기록을 얼마나 명확히 정했느냐에 있습니다. 처음에는 한 업무, 한 발신자, 한 폴더로 작게 시작하고, 정상 동작을 확인한 뒤 팀 업무로 넓히는 방식이 가장 안전합니다.
특히 Google Apps Script, Gmail, Drive, Google Workspace의 화면, 권한, 기능, 실행 한도, 요금제 조건은 언제든 바뀔 수 있습니다. 이 글의 흐름을 설계 체크리스트로 삼되, 실제 운영 전에는 공식 문서와 현재 계정 화면을 다시 확인하세요.
FAQ
Q1. Gmail 전체 첨부파일을 한 번에 저장해도 되나요?
권장하지 않습니다. 범위가 너무 넓으면 불필요한 이미지와 오래된 파일까지 저장될 수 있습니다. 특정 발신자, 제목, 라벨, 기간으로 좁혀 시작하는 편이 안전합니다.
Q2. Drive 폴더 ID는 어디에 쓰나요?
스크립트가 파일을 저장할 정확한 위치를 찾는 데 사용합니다. 폴더 주소에서 ID를 확인해 상수로 넣어 두면 폴더 이름이 비슷해도 잘못 저장될 위험을 줄일 수 있습니다.
Q3. 같은 첨부파일이 계속 저장되면 어떻게 해야 하나요?
처리 완료 라벨을 붙이거나 저장 로그를 남기는 방식으로 중복 방지 기준을 만들어야 합니다. 단순 반복 실행만 걸어 두면 같은 메일이 다시 처리될 수 있습니다.
Q4. 회사 Google Workspace 계정에서도 가능한가요?
가능한 경우가 많지만 조직 관리자 설정, 앱 접근 제한, Drive 공유 정책에 따라 다를 수 있습니다. 회사 계정에서는 관리자 설정과 공식 문서를 함께 확인하는 것이 좋습니다.
Q5. 시간 기반 트리거는 얼마나 자주 실행해야 하나요?
처음에는 하루 1~2회처럼 낮은 빈도로 시작하고 실행 기록을 확인하세요. 메일량과 첨부 용량이 많다면 처리 개수 제한과 실패 로그를 함께 두는 편이 좋습니다.