외부 이메일 클라이언트에서 지메일 SMTP로 이메일을 보낼 때 오류가 발생하는 경우

2016년, 코넷메일 서비스 종료로 KT 인터넷망을 통해 메일 발송이 불가능해짐에 따라 저는 이 블로그가 호스팅 중인 블루호스트(Bluehost)에서 제공하는 SMTP 서버를 이용하여 썬더버드(Thunberbird)에서 이메일을 보내고 있습니다.

하지만 얼마 전부터 제 지메일 주소로 이메일을 보내면 메일이 수신되지 않은 문제가 발생하기 시작했습니다. 이상한 것은 다른 사용자의 지메일 주소로는 잘 전송되고 제 지메일 계정으로만 메일이 전송되지 않았습니다. (평소에 떠오르는 아이디어가 있으면 무조건 제 지메일 주소로 보내놓는 습관이 있습니다. 너무 자주 제 지메일 주소로 이메일을 보내서 블루호스트 서버에서 전송되는 메일을 비정상적인 메일로 인식한 것이 아닌가 의심해봅니다.)

어떻게 할까 고민하다가 사이트그라운드(SiteGround)에서 제공하는 SMTP 서버를 이용하여 메일 전송 테스트를 해보니 잘 작동했습니다("해외호스팅 SiteGround에서 이메일 계정 설정 / 관리하기" 참고). 하지만 문제는 사이트그라운드에서 호스팅되는 도메인의 이메일로만 메일 전송이 가능했습니다. 즉, 발송 이메일 주소를 사이트그라운드에 호스팅되는 도메인의 이메일로 설정해야 합니다.

그래서 다른 방법을 고민하다가 지메일에서 제공하는 SMTP 서버를 이용하기로 했습니다. 설정 방법은 구글 문서에 잘 설명되어 있습니다.

지메일 메일 서버

지메일 설정에서 IMAP 액세스를 활성화하면 썬더버드, 아웃룩 등 외부 이메일 클라이언트에서 메일 수신이 가능해집니다. SMTP 서버를 위의 그림과 같이 설정하여 테스트해보니 비밀번호가 정확하지 않다는 오류가 발생했습니다.

지메일 로그인 실패

정확한 비밀번호를 넣고 테스트해도 계속 "Login to server smtp.gmail.com with username yourid@gmail.com failed" 오류가 발생했습니다.

썬더버드 포럼에서 이 문제를 검색해보니 지메일의 2단계 인증 때문에 발생한다는 것을 알게 되었습니다. 지메일의 2단계 인증을 해제하면 간단히 문제가 해결되겠지만, 그런 경우 지메일 보안에 문제가 발생할 수 있습니다. 다른 방법을 찾아보니 인증 방법을 OAuth2로 설정하면 된다는 글을 발견했습니다.

지메일 2단계 인증

올바른 지메일 암호를 입력해도 문제가 발생하면 다음과 같이 Outgoing Mail Server를 설정하면 문제가 해결될 것입니다.

  • Server Name: smtp.gmail.com
  • Port: 465
  • Connection security: SSL/TLS
  • Authentication method: OAuth2
  • User Name: 이메일 주소

이렇게 설정한 후에 테스트해보니 처음 이메일을 보낼 때 Thunderbird에서 지메일의 2단계 인증을 요구하였습니다. 핸드폰으로 수신된 인증코드를 입력하니 오류가 없이 메일이 전송되었습니다.

모질라 썬더버드

지메일 SMTP 서버로 메일을 발송하면 보내는 사람 이메일 주소를 다른 이메일 주소로 설정해도 '지메일 주소'가 보내는 사람 이메일 주소로 표시됩니다.

참고:

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

* 이메일 정보는 공개되지 않습니다.