2017년 1월 18일 수요일

ErrString = 550 5.7.1 ... Relaying denied

Relaying denied 라는 것은 "해당 메일 서버의 도메인이 아니므로 거부한다!"라는 의미입니다.

그렇다면 왜?
   1) SMTP 인증이 안되서 (아웃룩에서 보냈을 때 기타설정 > "보내는 메일 서버 인증" 체크를 해야하는 이유)
   2) 메일 서버 내 relay host에 등록이 되어있지 않아서

메일을 송신할 때 수신자의 도메인에 해당하는 아이피를 DNS에서 검색하고 해당 메일서버에 메일을 송신합니다.
 -> 도메인에 해당하는 아이피를 DNS에서 검색하는 것을 "MX record를 찾는다."고 하죠.

그런데
   1) MX record를 못 찾거나
   2) MX record를 찾았지만 아이피가 연결이 안 될 때
자동적으로 Root로 서비스 연결을 시도합니다. (여기서 Root까지 연결이 안 되면 Connection Error가 나는 것입니다.)
 -> Root로 서비스가 연결되어 있는지 확인하는 법: telnet ( @를 제외한 도메인 ex)naver.com ) 25

이렇게까지 했는데 인증이 안 되어 있거나 메일서버 내 relay host에 등록이 안 되있으면 리턴메일이 오는 것입니다.

p.s. 1. MX record 확인 방법
   nslookup
   > set type=mx
   > 해당 도메인 ex) naver.com

p.s. 2. MX record를 못 찾는 이유 중 하나!!
   java/jre/security 폴더의 java.security 파일을 살펴보시면
   networkaddress.cache.ttl = 숫자 해서 파라미터가 있습니다.
   여기서 숫자는 '한 번 DNS에서 값을 읽고 나서 그 정보를 숫자(초) 만큼 저장하고 있겠다.' 입니다.
   즉, 저 시간내에 다시 그 도메인으로 메일을 보내면 DNS에서 검색하지 않고 저장되어 있는 아이피로 보내겠다는 것입니다.
   그런데 만약 저 시간내에 DNS 변경 작업이 일어난다!! 하면 MX record 값을 못 찾는 거죠.
   (보통 DNS 변경 작업은 적용까지 최소 24시간이 걸립니다.)
  
혹시, 위의 정보 중에서 잘못된 사항이 있다하시는 분은 댓글 꼭! 부탁드립니다. 살펴보고 바로 수정할게요 :)

댓글 없음:

댓글 쓰기