LINE Works에서 Mailgun 활용하여 Gmail로 옮기면서 발생한 이슈

LINE Works가 이제 유료화를 보름 앞두고 있다.
그래서 G-Suite으로 이사할까 했지만, 어차피 유료고 업무용 메일도 아닌데 굳이 돈을 쓸 필요 있을까 싶어서 대안을 찾다가, Mailgun과 Gmail을 사용해서 개인 메일 세팅이 가능한 내용들을 검색하였다. LINE Works 때문에 벌써 고민하고 포스팅하신 분들이 있었다. 두 분께 이 자리를 빌어 감사드린다.

http://wequlo.blogspot.com/2017/04/mail-gun.html
http://recordingbetter.com/aws/2017/09/22/custom-domain-email-gmail-mailgun

위의 두 포스팅을 읽고 mailgun 세팅을 완료했다.

이제 테스트할 단계다. 그래서 Gmail에서 mailgun에 세팅한 개인 이메일 계정으로 메일을 보냈다.

“550 5.7.1 Relaying denied” 라는 메시지와 함께 메일이 들어오는 문제가 있었다.

이건 뭐지 싶었다. 일단 테스트를 3통 했는데, 모두 오류 메일이 함께 들어오는 것이다. 이건 뭔가 문제가 있는 거 같았다. 일시적이었을 거라 생각하며 마지막으로 한 통의 메일을 더 발송했는데, 메일이 아예 들어오지를 않는 것이다. 550 5.7.1의 오류 메일도 오지 않는 것이다. 직감적으로 Gmail에서 차단한 것이구나 싶었다.

그래서 해당 오류가 무슨 의미인지 찾아보기 시작했다. 아래 참고자료의 Ask leo의 내용을 읽어보면 쉽게 이해할 수 있다.

일단 이 문제가 발생한 기본적인 이유는 Gmail 발송 서버 -> 메일건(osg.kr) -> Gmail 수신 서버의 흐름으로 메일이 전달되는 구조에서 출발한다.

문제는 마지막으로 osg.kr(mailgun)에서 gmail로 relay하는 부분인데, gmail에서는 osg.kr에서 relaying하는 게 누구인지 신원 확인이 되지 않은 상황인 것이다. 신원이 확인되지 않은 메일에 대해서 Gmail 수신 서버는 차단하는 것이다. 그래서 “550 5.7.1 Relaying  denied” 메일을 세 번 받은 이후에는 더 이상 메일이 들어오지 않는 것이었다.

해결책은 Gmail 수신 서버에 osg.kr을 인증된 도메인으로 설정해 주면 된다.

1. https://postmaster.google.com/managedomains
2. 우측 하단의 + 표시를 누른다.
3. 인증할 도메인을 입력해 준다. 필자는 osg.kr을 사용하므로 osg.kr을 입력하였다.
4. NEXT 버튼을 누르면, DNS TXT에 설정할 값을 알려준다.
5. 해당 값을 인증할 도메인의 네임서버에 TXT 값으로 설정해 준다. 필자는 Vultr에서 네임서버를 사용하고 있으므로, vultr에서 ns 세팅을 하였다.
6. Verify 버튼을 누른다.

이제 Gmail에 들어가서 인증한 도메인의 메일로 메일을 발송해 본다. 아주 잘 들어오면 세팅이 끝난 것이다. 일단 필자는 이렇게 문제를 해결했다.

참고자료:
http://ask-leo.com/what_does_relaying_denied_mean.html
https://productforums.google.com/forum/#!topic/gmail/v8wVQIa0PTA