Share via


텔넷을 사용하여 SMTP 통신 테스트

 

적용 대상: Exchange Server 2010 SP2, Exchange Server 2010 SP3

마지막으로 수정된 항목: 2016-11-28

이 항목에서는 텔넷을 사용하여 메시징 서버 간의 SMTP(Simple Mail Transfer Protocol) 통신을 테스트하는 방법에 대해 설명합니다. 기본적으로 SMTP는 포트 25에서 수신 대기합니다. 포트 25에서 텔넷을 사용하는 경우에는 SMTP 서버에 연결하는 데 사용되는 SMTP 명령을 입력한 다음 텔넷 세션이 SMTP 메시징 서버인 것과 같이 메시지를 보낼 수 있습니다. 연결 및 메시지 전송 프로세스에서 수행되는 각 단계의 성공 여부를 확인할 수 있습니다.

다음은 텔넷을 사용하여 MicrosoftExchange Server 조직에 있는 전송 서버와의 SMTP 통신을 테스트할 수 있는 시나리오입니다.

  • 경계 네트워크 외부에 있는 호스트에서 조직의 Edge 전송 서버에 연결하여 테스트 메시지를 보냅니다.

  • 조직의 Edge 전송 서버에서 원격 메시징 서버에 연결하여 테스트 메시지를 보냅니다.

이 항목의 절차에서는 Microsoft Windows에 포함된 구성 요소인 텔넷 클라이언트를 사용하는 방법을 보여 줍니다. 타사 텔넷 클라이언트에는 Windows 텔넷 구성 요소에 사용되는 것과 다른 구문이 필요할 수도 있습니다.

선행 조건

  • 익명 액세스 또는 기본 인증을 허용하도록 수신 커넥터 구성   허브 전송 서버 사이에서 일반적으로 발생하는 메시지 전송은 암호화되고 인증되므로 내부 허브 전송 서버에는 포트 25에서 텔넷을 사용하여 통신을 테스트할 때 메시지 수신에 익명 액세스 또는 기본 인증을 허용하도록 구성된 수신 커넥터가 있어야 합니다. 인터넷 연결 서버에는 익명 액세스가 필요합니다.

    참고

    기본 인증을 수락하는 수신 커넥터로 메시지를 보낼 때는 사용자 이름과 암호에 사용되는 텍스트 문자열을 Base64 형식으로 변환하는 유틸리티가 있어야 합니다. 기본 인증을 사용하는 경우에는 사용자 이름과 암호를 알아내기가 쉽기 때문에 암호화를 사용하지 않는 상태로 기본 인증을 사용하지 않는 것이 좋습니다.

  • 원격 메시징 서버에 연결   조직의 Edge 전송 서버에서 원격 메시징 서버에 연결할 수도 있습니다. 이렇게 하면 서버로 메시지를 보내려고 하는 인터넷 호스트의 원본 IP 주소, 대응되는 DNS(Domain Name System) 도메인 이름 및 역방향 조회 IP 주소의 유효성을 검사하도록 구성된 인터넷 연결 SMTP 서버에서 테스트 메시지를 거부하는 문제를 방지할 수 있습니다.

  • 텔넷 클라이언트 설치 및/또는 사용하도록 설정   텔넷을 사용하여 메시징 서버 간의 SMTP 통신을 테스트하기 전에 다음 작업 중 하나 이상을 수행해야 할 수 있습니다.

    • 아직 텔넷 클라이언트를 설치하지 않은 경우 설치합니다. Windows Vista 또는 Windows Server 2008에서 텔넷 클라이언트를 설치하는 방법에 대한 자세한 내용은 텔넷 클라이언트 설치를 참조하십시오.

    • Windows Server 2008에서 텔넷 클라이언트를 사용하도록 설정합니다. 이 항목 뒷부분에 나온 절차를 참조하십시오.

  • SMTP 서버의 FQDN 또는 IP 주소를 찾습니다. FQDN 또는 IP 주소를 모르는 경우에는 Nslookup을 사용하여 SMTP 서버의 FQDN 또는 IP 주소를 찾을 수 있습니다. 이 항목 뒷부분에 나온 절차를 참조하십시오.

Windows Server 2008에서 텔넷 클라이언트 사용하도록 설정

이 절차를 완료하려면 최소한 Windows Server 2008 로컬 관리자 그룹 또는 이와 동등한 구성원 자격이 필요합니다.

Windows Server 2008에서 텔넷 클라이언트는 기본적으로 사용하지 않도록 설정됩니다. 사용하도록 설정하려면 다음 단계를 완료하십시오.

  1. 서버 관리자를 엽니다.

  2. 동작을 클릭하고 기능 추가를 선택합니다.

  3. 텔넷 클라이언트를 선택하고 다음을 클릭합니다.

  4. 설치닫기를 차례로 클릭하여 텔넷 클라이언트 설치를 완료합니다.

Nslookup을 사용하여 SMTP 서버의 FQDN 또는 IP 주소 찾기

포트 25에서 텔넷을 사용하여 대상 SMTP 서버에 연결하려면 SMTP 서버의 FQDN(정규화된 도메인 이름) 또는 IP 주소를 사용해야 합니다. FQDN 또는 IP 주소를 모르는 경우 이 정보를 찾을 수 있는 가장 쉬운 방법은 Nslookup 명령줄 도구를 사용하여 대상 도메인에 대한 MX 레코드를 찾는 것입니다.

  1. 명령 프롬프트에서 nslookup을 입력한 다음 Enter 키를 누릅니다. 이 명령을 입력하면 Nslookup 세션이 열립니다.

  2. set type=mx를 입력한 다음 Enter 키를 누릅니다.

  3. set timeout=20을 입력한 다음 Enter 키를 누릅니다. 기본적으로 Windows DNS 서버의 재귀 DNS 쿼리 시간 제한은 15초입니다.

  4. MX 레코드를 찾을 도메인의 이름을 입력합니다. 예를 들어 fabrikam.com 도메인에 대한 MX 레코드를 찾으려면 **fabrikam.com.**을 입력한 다음 Enter 키를 누릅니다.

    참고

    마침표(.)는 FQDN을 나타냅니다. 이와 같이 도메인 이름 끝에 마침표를 추가하면 네트워크에 대해 구성된 기본 DNS 접미사를 실수로 도메인 이름에 추가하는 경우를 방지할 수 있습니다.

    이 명령을 실행하면 다음과 같은 출력을 확인할 수 있습니다.

    fabrikam.com mx preference=10, mail exchanger = mail1.fabrikam.com
    fabrikam.com mx preference=20, mail exchanger = mail2.fabrikam.com
    mail1.fabrikam.com internet address = 192.168.1.10
    mail2 fabrikam.com internet address = 192.168.1.20
    

    XM 레코드와 연결된 모든 호스트 이름 또는 IP 주소를 대상 SMTP 서버로 사용할 수 있습니다. 기본 설정 값이 낮은 항목이 기본 SMTP 서버입니다. 부하 분산 및 내결함성에 대해 여러 MX 레코드와 서로 다른 기본 설정 값을 사용할 수 있습니다.

  5. Nslookup 세션을 끝낼 준비가 되면 exit를 입력한 다음 Enter 키를 누릅니다.

참고

조직의 내부 네트워크에 적용되어 있는 방화벽 또는 인터넷 프록시 제한으로 인해 Nslookup 도구를 사용하여 인터넷에서 공용 DNS 서버를 쿼리하지 못할 수도 있습니다.
Exchange 조직 내부의 메시지 흐름의 경우에는 MX 레코드가 반드시 필요하지는 않습니다. 조직에 있는 허브 전송 서버 또는 구독한 Edge 전송 서버의 FQDN을 찾아야 하는 경우에는 Exchange 관리 셸에서 Get-ExchangeServer | where {$.isHubTransportServer -eq $true -or $.isEdgeServer -eq $true} | Format-List Fqdn,ServerRole 명령을 사용할 수 있습니다.
자세한 내용은 Get-ExchangeServer파이프라이닝을 참조하십시오.

포트 25에서 텔넷을 사용하여 SMTP 통신 테스트

예를 보여 주기 위해 다음 절차에서는 다음 목록에 설명된 값을 사용합니다.

  • 대상 SMTP 서버   mail1.fabrikam.com

  • 원본 도메인   contoso.com

  • 보낸 사람의 전자 메일 주소   chris@contoso.com

  • 받는 사람의 전자 메일 주소   kate@fabrikam.com

  • 메시지 제목   Test from Contoso

  • 메시지 본문   This is a test message

    참고

    항상 유효한 보낸 사람 전자 메일 주소를 사용하여 대상 SMTP 서버에서 생성되는 NDR(배달 실패 보고서) 메시지가 메시지를 보낸 사람에게로 배달되도록 해야 합니다.

텔넷 클라이언트의 명령은 대/소문자를 구분하지 않습니다. 쉽게 구별할 수 있도록 SMTP 명령 동사는 대문자로 표기합니다.

  1. 명령 프롬프트에서 telnet을 입력한 다음 Enter 키를 누릅니다. 이 명령을 입력하면 텔넷 세션이 열립니다.

  2. set localecho를 입력한 다음 Enter 키를 누릅니다. 이 옵션 명령을 사용하면 입력하는 문자를 볼 수 있습니다. 일부 SMTP 서버의 경우에는 이 설정이 필요할 수도 있습니다.

  3. set logfile *<파일 이름>*을 입력합니다. 이 옵션 명령을 사용하면 지정된 로그 파일에 텔넷 세션을 기록할 수 있습니다. 파일 이름만 지정하면 로그 파일의 위치는 현재 작업 디렉터리가 됩니다. 파일 이름과 경로를 모두 지정하는 경우에는 컴퓨터의 로컬 경로를 지정해야 합니다. 여기서 지정하는 경로와 파일 이름은 모두 Microsoft DOS 8.3 형식으로 입력해야 합니다. 또한 지정하는 경로가 존재해야 합니다. 존재하지 않는 로그 파일을 지정하면 새 로그 파일이 자동으로 만들어집니다.

  4. open mail1.fabrikam.com 25를 입력한 다음 Enter 키를 누릅니다.

    참고

    텔넷 세션 내에서 대상 SMTP 서버에 연결한 후에는 백스페이스 키를 사용할 수 없습니다. SMTP 명령을 실수로 잘못 입력한 경우에는 Enter 키를 누른 후에 해당 명령을 다시 입력해야 합니다. 인식할 수 없는 SMTP 명령이나 구문 오류가 있으면 다음과 같은 오류 메시지가 표시됩니다.

    500 5.3.3 Unrecognized command
    
  5. EHLO contoso.com을 입력한 다음 Enter 키를 누릅니다.

  6. MAIL FROM:chris@contoso.com을 입력한 다음 Enter 키를 누릅니다.

  7. RCPT TO:kate@fabrikam.com NOTIFY=success,failure를 입력한 다음 Enter 키를 누릅니다. 선택 NOTIFY 명령은 대상 SMTP 서버에서 보낸 사람에게 제공해야 하는 특정 DSN(배달 상태 알림) 메시지를 지정합니다. DSN 메시지는 RFC 1891에 정의되어 있습니다. 이 경우에는 메시지 배달 성공 또는 실패 관련 DSN 메시지를 요청합니다.

  8. DATA를 입력한 다음 Enter 키를 누릅니다. 그러면 다음과 같은 응답을 받게 됩니다.

    354 Start mail input; end with <CLRF>.<CLRF>
    
  9. Subject: Test from Contoso를 입력한 다음 Enter 키를 누릅니다.

  10. Enter 키를 누릅니다. RFC 2822의 경우 Subject: 헤더 필드와 메시지 본문 사이에 빈 줄이 하나 필요합니다.

  11. This is a test message를 입력하고 Enter 키를 누릅니다.

  12. Enter 키를 누르고 마침표(.)를 입력한 다음 Enter 키를 누릅니다. 그러면 다음과 같은 응답을 받게 됩니다.

    250 2.6.0 <GUID> Queued mail for delivery
    
  13. 대상 SMTP 서버와의 연결을 끊으려면 QUIT를 입력한 다음 Enter 키를 누릅니다. 그러면 다음과 같은 응답을 받게 됩니다.

    221 2.0.0 Service closing transmission channel
    
  14. 텔넷 세션을 닫으려면 quit를 입력한 다음 Enter 키를 누릅니다.

텔넷 세션의 결과 평가

이 섹션에서는 이전 예에서 사용된 다음 명령에 제공할 수 있는 응답에 대해 설명합니다.

  • Open mail1.fabrikam.com 25

  • EHLO contoso.com

  • MAIL FROM:chris@contoso.com

  • RCPT TO:kate@fabrikam.com NOTIFY=success,failure

    참고

    RFC 2821에 정의되어 있는 3자리의 SMTP 응답 코드는 모든 SMTP 메시징 서버에 대해 동일합니다. 일부 SMTP 메시징 서버의 경우에는 텍스트 설명이 약간 다를 수도 있습니다. 이전 예에서 대상 컴퓨터는 Exchange Server 2010을 실행하고 있습니다.

Open mail1.fabrikam.com 25

성공적인 응답   220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at <day-date-time>

실패 응답   Connecting to mail1.fabrikam.com...Could not open connection to the host, on port 25: Connect failed

가능한 실패 이유

  • 대상 SMTP 서비스를 사용할 수 없습니다.

  • 대상 방화벽에 제한이 적용되어 있습니다.

  • 원본 방화벽에 제한이 적용되어 있습니다.

  • 대상 SMTP 서버에 대해 잘못된 FQDN 또는 IP 주소를 지정했습니다.

  • 잘못된 포트 번호를 지정했습니다.

EHLO contoso.com

성공적인 응답   250 mail1.fabrikam.com Hello [<sourceIPaddress>]

실패 응답   501 5.5.4 Invalid domain name

가능한 실패 원인   도메인 이름에 잘못된 문자가 있습니다. 또는 대상 SMTP 서버에 연결 제한이 적용되어 있습니다.

참고

EHLO는 RFC 2821에 정의되어 있는 ESMTP(Extended Simple Message Transfer Protocol) 동사입니다. ESMTP 서버는 초기 연결 동안 해당 기능을 보급할 수 있습니다. 이러한 기능에는 수락되는 최대 메시지 크기 및 지원되는 인증 방법이 포함됩니다. HELO는 RFC 821에 정의되어 있는 이전 SMTP 동사입니다. 대부분의 SMTP 메시징 서버에서는 ESMTP 및 EHLO를 지원합니다.

MAIL FROM:chris@contoso.com

성공적인 응답   250 2.1.0 Sender OK

실패 응답   550 5.1.7 Invalid address

가능한 실패 이유   보낸 사람의 전자 메일 주소에 구문 오류가 있습니다.

실패 응답   530 5.7.1 Client was not authenticated

가능한 실패 이유   대상 서버에서 익명 메시지 전송을 수락하지 않습니다. 텔넷을 사용하여 메시지를 허브 전송 서버로 직접 전송하려고 하면 이 오류가 발생합니다.

RCPT TO:kate@fabrikam.com NOTIFY=success,failure

성공적인 응답   250 2.1.5 Recipient OK

실패 응답   550 5.1.1 User unknown

가능한 실패 이유   지정한 받는 사람이 조직에 없습니다.

 © 2010 Microsoft Corporation. 모든 권리 보유.