내용으로 건너뛰기

Amazon SES의 SMTP 연결 또는 시간 초과 문제를 해결하려면 어떻게 해야 합니까?

4분 분량
0

Amazon Simple Email Service(Amazon SES) Simple Mail Transfer Protocol(SMTP)이 시간 초과됩니다.

간략한 설명

클라이언트가 퍼블릭 Amazon SES 엔드포인트에 대한 TCP 연결을 설정할 수 없으면 연결 시간 초과 문제가 발생합니다. Amazon SES의 SMTP 연결 또는 시간 초과 문제를 해결하려면, 우선 애플리케이션의 TCP 연결 문제를 해결해야 합니다. TCP 연결이 성공하면 그 다음에 SSL/TLS 협상 문제를 해결하십시오.

기본적으로 Amazon Elastic Compute Cloud(Amazon EC2)는 모든 Amazon EC2 인스턴스의 포트 25에서 Amazon Virtual Private Cloud(Amazon VPC) 송신 트래픽을 제한합니다. SMTP 포트 25에서 트래픽이 필요한 애플리케이션인 경우, 이 제한의 제거를 요청할 수 있습니다. 아니면 포트 25에 있는 기본 제한이 없는 포트 587(STARTTLS) 및 포트 465(TLS Wrapper)에서 SMTP 연결을 사용하십시오.

해결 방법

애플리케이션의 TCP 연결 문제 해결

다음 단계를 완료하십시오.

  1. 다음 telnet 명령을 실행합니다.

    telnet email-smtp.us-east-1.amazonaws.com 587  
    telnet email-smtp.us-east-1.amazonaws.com 25  
    telnet email-smtp.us-east-1.amazonaws.com 465

    참고: email-smtp.us-east-1.amazonaws.com을 사용 중인 Amazon SES SMTP 엔드포인트로 바꿉니다.
    -또는-

    다음 netcat (nc) 명령을 실행합니다.

    nc -vz email-smtp.us-east-1.amazonaws.com 587  
    nc -vz email-smtp.us-east-1.amazonaws.com 25  
    nc -vz email-smtp.us-east-1.amazonaws.com 465

    -또는-

    Windows PowerShell에서 다음 명령을 실행하여 Amazon SES SMTP 서버에 연결합니다.

    Test-NetConnection -Port 587 --ComputerName email-smtp.us-west-2.amazonaws.com
  2. 출력을 기록해 두십시오. 연결이 성공하면 SSL/TLS 협상 문제 해결 섹션으로 계속 진행합니다. 연결이 실패하면 3단계로 진행합니다. 연결이 성공하면 telnet 명령이 다음과 유사한 출력을 반환합니다.

    Trying 35.170.126.22...  
    Connected to email-smtp.us-east-1.amazonaws.com.  
    Escape character is '^]'.  
    220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-A12BCD3EF example0mJncW410pSau

    연결이 시간 초과되면 telnet 명령이 다음과 유사한 출력을 반환합니다.

    Trying 18.232.32.150...  
    telnet: connect to address 18.232.32.150: Connection timed out

    연결이 성공하면 Test-NetConnection 명령이 다음과 유사한 출력을 반환합니다.

    ComputerName     : email-smtp.us-west-2.amazonaws.com  
    RemoteAddress    : 198.51.100.126  
    RemotePort       : 587  
    InterfaceAlias   : Ethernet  
    SourceAddress    : 203.0.113.46  
    TcpTestSucceeded : True

    연결이 시간 초과되면 Test-NetConnection 명령이 다음과 유사한 출력을 반환합니다.

    WARNING: Ping to 52.39.11.136 failed with status: TimedOut  
    
    ComputerName           : email-smtp.us-west-2.amazonaws.com  
    RemoteAddress          : 35.155.47.104  
    RemotePort             : 587  
    InterfaceAlias         : Ethernet 2  
    SourceAddress          : 10.0.0.140  
    PingSucceeded          : False  
    PingReplyDetails (RTT) : 0 ms  
    TcpTestSucceeded       : False
  3. 연결이 실패한 경우, 로컬 방화벽, 경로 및 네트워크 액세스 제어 목록(네트워크 ACL)이 사용 중인 SMTP 포트에서 트래픽을 허용하는지 확인하십시오. 또한 전송 중인 애플리케이션이 인터넷에 액세스할 수 있는지도 확인하십시오.

예를 들어 SMTP 엔드포인트에 이메일을 보내고 연결하는 데 EC2 인스턴스를 사용 중인 경우, 다음을 확인합니다.

SSL/TLS 협상 문제 해결

TCP 연결이 성공했는데도 여전히 연결 또는 시간 초과 문제가 발생하는 경우, 다음 단계를 완료하여 SSL/TLS 문제가 있는지 검사합니다.

  1. Amazon SES SMTP 서버에 연결합니다.
    EC2 Linux 인스턴스의 경우, 다음 명령을 실행합니다.

    openssl s_client -crlf -connect email-smtp.us-east-1.amazonaws.com:465

    참고: email-smtp.us-east-1.amazonaws.com을 사용 중인 Amazon SES SMTP 엔드포인트로 바꿉니다.
    EC2 Windows 인스턴스의 경우, 명령줄을 사용하여 Amazon SES SMTP 인터페이스에 대한 연결 테스트PowerShell 탭을 참조하십시오.

  2. SSL 문제를 확인하려면 다음 명령을 실행합니다.

    openssl s_client -crlf -quiet -connect email-smtp.us-west-2.amazonaws.com:465

    연결이 성공하면 다음과 유사한 SMTP 220 응답이 표시됩니다.

    depth=2 C = US, O = Amazon, CN = Amazon Root CA 1  
    verify return:1  
    depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon  
    verify return:1  
    depth=0 CN = email-smtp.us-west-2.amazonaws.com  
    verify return:1  
    220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-VCSHDP1YZ A1b2C3d4E5f6G7h8I9j0
  3. TLS 문제를 확인하려면 다음 명령을 실행합니다.

    openssl s_client -crlf -quiet -starttls smtp -connect email-smtp.us-west-2.amazonaws.com:587

    연결이 성공하면 다음과 유사한 SMTP 250 응답이 표시됩니다.

    depth=2 C = US, O = Amazon, CN = Amazon Root CA 1  
    verify return:1  
    depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon  
    verify return:1  
    depth=0 CN = email-smtp.us-west-2.amazonaws.com  
    verify return:1  
    250 Ok
  4. SSL에 SMTP 220 응답, TLS에 SMTP 250 응답이 표시되지 않는 경우 다음을 확인하십시오.
    SSL/TLS 인증서 저장소를 올바로 구성했습니다.
    전송 중인 애플리케이션에 인증서로 이동하는 올바른 경로가 있습니다.
    서버에 Amazon SES 인증서를 설치했습니다.

참고: 올바른 인증서를 설치했는지 확인하려면 Amazon Trust Services 마이그레이션 관련 정보인증서 관련 정보를 참조하십시오.

관련 정보

Amazon SES SMTP 인터페이스를 사용하여 이메일 전송