Troubleshooting SMTP - SMTPDiag 도구
www.wssplex.net
IIS SMTP나 Exchage Server에서 메일 발송시, 일부 문제로 인해서 메일이 발송되지 않고, Queue 또는 PickUp 폴더에 그대로 있는 경우가 있다.
메일이라는 것은, 메일을 보내는 아웃룩같은 클라이언트에서 메일서버 그리고 메일을 수신하게 되는 원격서버간, 그 사이에 DNS등. 연동작업이므로 문제가 발생하는 경우 그 원인을 알기가 쉽지 않다.
SMTPDiag 도구 메일발송시 문제가 되는 부분을 일부 확인할 수 있는 훌륭한 툴이다. 이 툴은 Exchange Server 도구의 일부로 제공된다.. 이툴은 Microsoft EULA 가 있는 툴이므로 공개서비스용으로 이용하면 안된다.
다운로드 : http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=BC1881C7-925D-4A29-BD42-71E8563C80A9
사용법:
SMTPDIAG "보낸 사람 주소" "받는 사람 주소" [-d external DNS] [/v]
보낸 사람 주소 : 필수. 로컬 사서함 주소. SMTP 전송 및 인바운드 DNS를 확인하는 데 사용.
받는 사람 주소 : 필수. 메일을 보내려고 하는 원격 사서함의 전자 메일 주소. DNS 및 원격 사서함의 사용 가능성을 확인하는 데 사용.
-d target DNS : 옵션. 테스트할 원격 MX 레코드 조회에 사용할 대상 DNS 서버의 IP 주소.
/v : 옵션. 각 테스트에 대한 추가 정보를 표시.
실제 테스트를 예는 다음과 같다.
SmtpDiag.exe "insideapple@gmail.com" "sysadmin@hanbiro.com" /vExchange 외부 DNS 설정을 검색하고 있습니다.
컴퓨터 이름이 SERVERINFO입니다.도메인 컨트롤러에 연결하지 못했습니다. 오류: 8007054bhanbiro.com의 SOA를 확인하고 있습니다.
외부 DNS 서버를 확인하고 있습니다.
내부 DNS 서버를 확인하고 있습니다.DNS 서버 [211.234.98.50]을(를) 사용하여 TCP/UDP SOA 일련 번호를 확인하고 있습니다.
TCP 테스트에 성공했습니다.
UDP 테스트에 성공했습니다.
일련 번호: 951247
DNS 서버 [168.126.63.1]을(를) 사용하여 TCP/UDP SOA 일련 번호를 확인하고 있습니다.
TCP 테스트에 실패했습니다.UDP 테스트에 성공했습니다.
일련 번호: 951247
SOA 일련 번호가 일치합니다. 통과되었습니다.로컬 도메인 레코드를 확인하고 있습니다.
로컬 도메인의 TCP 및 UDP DNS 쿼리를 시작합니다. 이 테스트는 인바운드 메일의 DNS가 제대로 설정되어 있는지를 확인합니다.
이 테스트는 다음과 같은 세 가지 원인으로 인해 실패할 수 있습니다.
1) 로컬 도메인이 DNS에 설정되어 있지 않습니다. 인바운드 메일을 로컬 사서함으로 라우팅할 수 없습니다.
2) 방화벽이 TCP/UDP DNS 쿼리를 차단합니다. 인바운드 메일에는 영향을 주지 않지만 아웃바운드 메일에는 영향을 줍니다.
3) 내부 DNS가 외부 DNS 설정을 인식하지 못합니다. 특정 토폴로지에 유효한 구성입니다.
TCP를 사용하여 MX 레코드를 확인하고 있습니다. gmail.com.
MX: gsmtp185-2.google.com (10)
MX: gsmtp163.google.com (10)
MX: gsmtp83.google.com (10)
MX: gsmtp83-2.google.com (10)
MX: gmail-smtp-in.l.google.com (5)
MX: gsmtp185.google.com (10)
A: gsmtp185-2.google.com [64.233.185.114]
A: gsmtp83.google.com [66.249.83.27]
A: gsmtp83-2.google.com [66.249.83.114]
A: gmail-smtp-in.l.google.com [66.249.83.114]
A: gmail-smtp-in.l.google.com [66.249.83.27]
A: ns1.google.com [216.239.32.10]
A: ns2.google.com [216.239.34.10]
A: ns3.google.com [216.239.36.10]
A: ns4.google.com [216.239.38.10]
UDP를 사용하여 MX 레코드를 확인하고 있습니다. gmail.com.
MX: gsmtp185.google.com (10)
MX: gsmtp185-2.google.com (10)
MX: gsmtp163.google.com (10)
MX: gsmtp83.google.com (10)
MX: gsmtp83-2.google.com (10)
MX: gmail-smtp-in.l.google.com (5)
A: gsmtp185.google.com [64.233.185.27]
A: gsmtp185-2.google.com [64.233.185.114]
A: gsmtp163.google.com [64.233.163.27]
A: gsmtp83.google.com [66.249.83.27]
A: gsmtp83-2.google.com [66.249.83.114]
A: gmail-smtp-in.l.google.com [66.249.83.114]
A: gmail-smtp-in.l.google.com [66.249.83.27]
A: ns1.google.com [216.239.32.10]
A: ns2.google.com [216.239.34.10]
A: ns3.google.com [216.239.36.10]
A: ns4.google.com [216.239.38.10]
TCP 및 UDP 쿼리가 모두 성공했습니다. 로컬 DNS 테스트를 통과했습니다.원격 도메인 레코드를 확인하고 있습니다.
원격 도메인의 TCP 및 UDP DNS 쿼리를 시작합니다. 이 테스트는 아웃바운드 메일의 DNS가 제대로 설정되어 있는지를 확인합니다.
이 테스트는 다음과 같은 세 가지 원인으로 인해 실패할 수 있습니다.
1) 아웃바운드 메일을 차단할 TCP/UDP 쿼리를 방화벽이 차단합니다. Windows 2000/NT Server의 경우 TCP DNS 쿼리가 필요합
니다. Windows Server 2003은 먼저 UDP 쿼리를 사용한 다음 다시 TCP 쿼리로 변경합니다.
2) 내부 DNS가 외부 도메인 쿼리 방법을 모릅니다. 외부 DNS 서버를 사용하거나 DNS 서버를 구성하여 외부 도메인을 쿼리해
야 합니다.
3) 원격 도메인이 없습니다. 오류가 발생할 수 있습니다.TCP를 사용하여 MX 레코드를 확인하고 있습니다. hanbiro.com.
MX: nmail.hanbiro.com (10)
A: nmail.hanbiro.com [211.234.111.10]
UDP를 사용하여 MX 레코드를 확인하고 있습니다. hanbiro.com.
MX: nmail.hanbiro.com (10)TCP 및 UDP 쿼리가 모두 성공했습니다. 원격 DNS 테스트를 통과했습니다.sysadmin@hanbiro.com의 나열된 MX 서버를 확인하고 있습니다.
포트 25의 nmail.hanbiro.com[211.234.111.10]에 연결하고 있습니다.
받음:
220 ns12.hanbiro.com ESMTP
보냄:
ehlo gmail.com
받음:
250-ns12.hanbiro.com
250-STARTTLS
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME
보냄:
mail from: <insideapple@gmail.com>
받음:
250 ok
보냄:
rcpt to: <sysadmin@hanbiro.com>
받음:
250 ok
보냄:
quit
받음:
221 ns12.hanbiro.com
nmail.hanbiro.com에 연결했습니다.