Gmail로 SMTP 사용하기 위해 앱 비밀번호 만들기

## 메일 SMTP란?
SMTP(Simple Mail Transfer Protocol)는 인터넷을 통해 이메일을 전송하는 데 사용되는 표준 프로토콜입니다. Self-hosted 앱에서 이메일 발송 기능을 구현하거나, 자동화된 이메일 알림을 설정할 때 SMTP 서버를 통해 메일을 보낼 수 있습니다.
SMTP를 지원하는 메일 서비스
- Gmail: 안정적인 서비스와 쉬운 설정 방법으로 널리 사용됩니다. 앱 비밀번호를 사용하여 Self-hosted 앱에서 Gmail SMTP를 통해 메일을 보낼 수 있습니다.
- Naver Mail: 네이버 메일도 SMTP 설정을 지원합니다. 네이버 계정 설정에서 POP3/IMAP 설정을 활성화하고, SMTP 서버 정보를 확인하여 사용할 수 있습니다.
- Daum/Kakao Mail (Hanmail): 다음/카카오 메일 역시 SMTP 설정을 제공합니다. Daum 메일 설정에서 POP3/IMAP 설정을 활성화한 후 SMTP 서버 정보를 이용하여 Self-hosted 앱에 적용할 수 있습니다.
SMTP를 지원하지 않는 메일 서비스
대부분의 주요 메일 서비스는 SMTP를 지원하지만, 일부 특정 서비스나 오래된 플랫폼에서는 지원이 제한될 수 있습니다. 특정 메일 서비스가 SMTP를 지원하는지 확인하려면 해당 서비스의 공식 문서를 참조하거나 고객 지원에 문의하는 것이 좋습니다.
SMTP를 사용하는 이유
- 자동화된 이메일 발송: Self-hosted 앱에서 사용자 가입 확인, 알림, 뉴스레터 등을 자동으로 발송할 수 있습니다.
- 커스터마이징: 이메일 내용과 형식을 자유롭게 설정하여 브랜드 아이덴티티를 강화할 수 있습니다.
- 확장성: 대량의 이메일을 효율적으로 발송하고 관리할 수 있습니다. 다만, SMTP를 통해 대량의 이메일을 발송할 때는 스팸으로 오인받지 않도록 주의해야 합니다. 발송 정책을 준수하고, 수신 동의를 받은 사용자에게만 메일을 보내는 것이 중요합니다.
Gmail로 SMTP 사용하기
Gmail SMTP 사용을 위한 조건
Gmail SMTP를 사용하기 위해서는 몇 가지 조건이 필요합니다.
- 2단계 인증 활성화 (2FA): 보안 강화를 위해 2단계 인증을 활성화해야 합니다.
- 앱 비밀번호 생성: 2단계 인증이 활성화된 경우, 특정 앱 또는 기기에서 Gmail 계정에 접근하기 위해 앱 비밀번호를 생성해야 합니다.
앱 비밀번호 생성 방법


- 브라우저에서 구글 계정 설정 웹페이지로 이동:구글 계정 설정에서 상단에 "앱 비밀번호"를 입력하여 검색합니다.https://myaccount.google.com 또는 "앱 비밀번호 한 번에 가기" 링크를 사용합니다.https://myaccount.google.com/u/0/apppasswords
- 앱 이름 입력: 적절한 앱 이름을 입력합니다. 저는 "for_self-hosted_SMTP"라고 넣었습니다.
- 생성된 비밀번호 보관: "생성" 버튼을 클릭하면 16자리의 앱 비밀번호가 생성됩니다.
- 앱 비밀번호 사용: 생성된 앱 비밀번호를 복사하여 해당 앱 또는 기기의 SMTP 설정에 붙여넣습니다.
Self-hosted 앱에서 Gmail SMTP 설정 활용
Self-hosted 앱에서 이메일 기능을 사용할 때 Gmail SMTP 서버를 활용하면 편리하게 이메일을 발송할 수 있습니다. 예를 들어, 자체 서버에서 운영하는 블로그나 뉴스레터 서비스에서 사용자 인증, 알림 발송 등의 기능을 구현할 때 유용하게 사용할 수 있습니다.
주의사항
- 앱 비밀번호는 해당 앱 또는 기기에서만 사용해야 합니다.
- 앱 비밀번호를 안전하게 보관하고, 다른 사람과 공유하지 않도록 주의해야 합니다.
- 더 이상 사용하지 않는 앱 비밀번호는 삭제하는 것이 좋습니다.
Gmail SMTP 주소 및 값
URL : smtp.gmail.com
Port : 465(SSL)
ID : abc123@gmail.com #본인의 Gmail주소
PW : abcd 1234 efgh 5678 #생성된 Gmail SMTP 비밀번호
From_name : My_app # 보내는 사람 이름(Joplin, Obsidian, Ghost 등 앱에 맞는 필요한 값 입력)
From_email : abc123@gmail.com #본인의 Gmail주소
SMTP 작동 테스트
본인이 사용하는 별도 앱이나 자동화에 적용하기 전에 SMTP 메일 전송을 테스트 해 볼 수 있습니다. swaks같은 별도의 앱이나 파이썬 smtplib같은 패키지를 이용할 수도 있습니다. 그런데 지금은 작동 테스트만 한 번 하면 되므로 인터넷으로 간단하게 시험하는 것을 추천합니다.
Zoho는 세계적인 이메일 및 클라우드, CRM 제공 업채인데 Zoho에서 SMTP테스트를 할 수 있는 웹페이지를 운영하고 있습니다.
아래 링크를 이용해 SMTP 메일 전송을 테스트 할 수 있습니다. Zoho는 믿을만한 업체니까 안심하고 테스트하셔도 됩니다. https://www.zoho.com/zeptomail/smtp-test-tool.html
본인의 이메일 주소, 포트, 위에서 만든 Gmail SMTP 비밀번호를 넣으면 됩니다. To email address에는 메일을 받을 본인의 다른 이메일을 입력하면 됩니다. Start test 버튼을 누르면 전송 테스트 실행할 수 있습니다.

SMTP 메일 전송 성공
메일 전송에 성공했다면 Gmail SMTP를 사용하기 위한 준비는 끝났습니다.
N8N같은 자동화 도구 등에서 사용하기
SMTP 메일 전송 기능을 N8N같은 자동화 도구에서 사용할 수 있습니다. 예를 들어, 한 시간 마다 특정 웹페이지를 살펴보고 특이사항이 있을 때 해당 내용을 메일로 전송할 수 있습니다.
아래는 N8N에서 메일을 전송하기 위한 Gmail SMTP 계정 연결화면입니다.

Self-hosted, Docker 앱에서 사용
SMTP 메일 전송 기능을 Self-hosted 앱 등에서 사용할 수도 있습니다. 특정 앱의 비밀번호 찾기, 회원가입을 위한 메일 등을 전송할 수 있습니다.
아래는 도커로 self-hosted Wordpress를 설치할 때 사용하는 docker-compose.yml파일의 예입니다. 워드프레스의 메일 전송 기능을 사용을 위한 SMTP설정은 다음과 같이 하면 됩니다.
