서버 시스템(SW) 하나를 구축했어. 이 서버 시스템은 사용자 가입이 가능하며, 사용자 가입을 확인하기 위해서 확인 메일을 보내는 기능이 있지. 그런데 나는 메일서버가 없는거야. 그래서 메일을 발송할 수가 없어 낙담하고 있었지.
유레카~ 나에게는 Google Gmail God (GGG) 이 있었지~
지금부터 Google Gmail 을 발송 메일로 활용하도록 설정하는 방법에 대해서 알아보려고 해.
발송전용 Gmail 계정 만들기
메일을 발송하는 전용 Gmail 계정을 하나 만들자. 이건 너무 쉬워서 설명을 생략할께. 그래도 어렵다면 요청해줘.
나는 발송 전용으로 woohaha.noreply@gmail.com 계정을 하나 만들었어.
SMTP 발송을 위한 Gmail 계정 설정하기
1단계: IMAP 사용 설정
새로 만든 Gmail 계정으로 로그인을 먼저 하자.

오른쪽 위에 톱니바퀴 모양의 아이콘을 클릭하면 빠른 설정 화면이 표시되지. 여기에서 “모든 설정 보기” 링크를 클릭해봐.

설정 화면에서 “전달 및 POP/IMAP” 탭을 선택하면 IMAP 액세스 라는 항목이 보일거야. 새로 만들어서 아무것도 설정하지 않았기 때문에 기본값으로 IMAP 사용 안함 이 선택되어 있을텐데, IMAP 사용 을 선택하고 “변경사항 저장” 버튼을 클릭해서 설정을 저장해주면 돼.

“IMAP 사용” 설정값이 저장된 상태에서는 “IMAP을 사용할 수 있습니다.” 라고 표시가 되지.
2단계: 2단계 인증 설정하기
이번에는 Gmail 계정 관리 화면으로 진입해야 해.

“보안” 탭에서 Google에 로그인하는 방법 중에 “2단계 인증” 항목이 사용설정으로 되어 있어야만 해.

오른쪽의 > 로 표시된 링크를 클릭하면 2단계 인증 설정 과정이 시작되지.

휴대전화 번호부터 입력해주자.

“다음” 링크를 누르면 입력한 휴대전화로 코드가 담긴 문자메시지가 오거나, 전화가 걸려오지.

문자메시지로 전송된 코드를 입력해주고나면 2단계 인증을 위한 도구(휴대전화번호) 등록이 완료된것이고, 이 휴대전화번호를 이용해서 2단계 인증을 사용하도록 설정하겠냐고 물어보는거야.

이제 2단계 인증을 사용하도록 설정이 완료되었어.

3단계: 앱 비밀번호 등록하기
이제 마지막 단계로 앱 비밀번호 등록하기야. 2단계 인증 화면으로 다시 들어가면 맨 아래쪽에 “앱 비밀번호” 가 보일거야.

아직 아무것도 등록해놓지 않은 상태라서 없음 이 표시되고 있지? 오른쪽 > 모양의 링크를 클릭해볼께.

앱 전용 비밀번호를 만들려면 앱 이름을 입력하라고 하는군. 비밀번호를 사용할 앱의 이름으로 나는 MailSender 라고 입력했어.
“만들기” 버튼을 클릭하면 앱 비밀번호를 생성한 뒤에 보여주지.

이 비밀번호를 잘 기록해두어야 해. 이 화면을 벗어나면 이 값은 다시 확인할 방법이 없어.

이렇게 앱 비밀번호를 삭제할 수만 있지, 그 값을 확인하는 기능은 없거든.
SMTP 발송 설정하기
이제 Gmail 의 정보를 서버 시스템의 설정에 대입하는 방법에 대해서 알아볼께.
대부분의 서버 시스템 SMTP 발송 정보 설정 항목값들은 다음과 같이 구성되어 있어.
- SMTP 서버주소
- SMTP 계정ID
- SMTP 계정ID의 패스워드
- SMTP 암호화
- SMTP 포트번호
- (옵션) 발송자이름
- (옵션) 발송자메일주소
위 항목에 대한 사용값 예시를 들어볼께.

SMTP 서버주소는 smtp.gmail.com 을 사용해.
SMTP 계정ID 는 Gmail 계정을 입력해주고, 패스워드로 앞에서 생성한 앱 비밀번호를 입력해주지. 위 예시에서는 인증정보가 SMTP 계정ID와 패스워드가 되는거지.
SMTP 암호화는 SSL/TLS 를 선택해서 암호화되도록 설정하고, 사용 포트번호로 465 를 입력해주면 돼.
이렇게 설정해놓고 이메일을 발송하면 성공!
발송된 이메일을 보여줄께.

이메일을 수신한 계정의 받은 편지함에도 메일이 정상적으로 들어와있지.

이메일 발송 때문에 고민할 필요, 이제는 없어졌네.