Amazon SES SMTP 문제 - Amazon Simple Email Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SES SMTP 문제

이 단원에는 Amazon SES Simple Mail Transfer Protocol(SMTP) 인터페이스를 통한 이메일 전송과 관련된 몇 가지 일반적인 문제에 대한 해결 방법이 나와 있습니다. 또한 Amazon SES에서 반환하는 SMTP 응답 코드 목록도 포함되어 있습니다.

Amazon SES SMTP 인터페이스를 통한 이메일 전송에 대한 자세한 내용은 Amazon SES SMTP 인터페이스를 사용하여 이메일 보내기 단원을 참조하십시오.

  • Amazon SES SMTP 엔드포인트에 연결할 수 없습니다.

    Amazon SES SMTP 엔드포인트 연결 문제는 대부분 다음 문제와 관련이 있습니다.

    • 잘못된 자격 증명 - SMTP 엔드포인트에 연결하는 데 사용하는 자격 AWS 증명이 사용자 자격 증명과 다릅니다. SMTP 자격 증명을 얻으려면 아마존 SES SMTP 자격 증명 취득 단원을 참조하세요. 자격 증명에 대한 자세한 내용은 Amazon SES 자격 증명 유형을 참조하세요.

    • 네트워크 또는 방화벽 문제 – 네트워크가 이메일을 전송하려는 포트를 통한 아웃바운드 연결을 차단한 것일 수 있습니다. 로컬 네트워크의 문제로 인해 연결 문제가 발생하는지 확인하려면 port를 사용하려는 포트(일반적으로 465, 587, 2465 또는 2587)로 바꿔 명령줄에 telnet email-smtp.us-west-2.amazonaws.com port 명령을 입력합니다.

      이 명령을 사용하여 SMTP 서버에 연결할 수 있으며 TLS 래퍼 또는 STARTTLS를 사용하여 Amazon SES에 연결하려는 경우 명령줄을 사용하여 Amazon SES SMTP 인터페이스에 대한 연결 테스트에 나온 절차를 완료합니다.

      telnet 또는 openssl을(를) 사용하여 Amazon SES SMTP 엔드포인트에 연결할 수 없는 경우 네트워크 안의 무언가(예: 방화벽)가 사용하려는 포트를 통한 아웃바운드 연결을 차단하는 것입니다. 네트워크 관리자와 함께 문제를 진단 및 해결하세요.

  • Amazon EC2 인스턴스에서 포트 25를 사용하여 Amazon SES로 보내려는데 시간 초과 오류를 수신합니다.

    Amazon EC2는 기본적으로 포트 25를 제한합니다. 이러한 제한을 제거하려면 이메일 전송 제한 사항 제거를 위한 Amazon EC2 요청을 제출하세요. 포트 465 또는 포트 587을 사용하여 Amazon SES에 연결할 수도 있으며 이들 포트에서는 연결이 제한되지 않습니다.

  • 네트워크 오류 때문에 이메일이 삭제됨

    애플리케이션이 Amazon SES SMTP 엔드포인트에 연결할 때 재시도 로직을 사용하는지, 애플리케이션이 네트워크 오류 시 메시지 전송을 감지 및 재시도할 수 있는지 확인합니다. SMTP는 버보스 프로토콜이며 이 프로토콜을 사용하여 이메일을 보내려면 네트워크를 여러 번 왕복해야 합니다. SMTP의 특성상 네트워크 오류의 가능성이 증가합니다.

  • SMTP 엔드포인트와 연결이 끊김.

    연결 끊김은 주로 다음 문제로 인해 발생합니다.

    • MTU 크기 – 시간 초과 오류 메시지를 수신하는 경우 Amazon SES SMTP 인터페이스와 연결하기 위해 사용 중인 컴퓨터의 네트워크 인터페이스의 최대 전송 단위(MTU)가 너무 큰 것일 수 있습니다. 이 문제를 해결하려면 해당 컴퓨터의 MTU 크기를 1,500바이트로 설정합니다.

      Windows, Linux 및 macOS 운영 체제에서 MTU 크기를 설정하는 방법에 대한 자세한 내용은 Amazon Redshift 관리 가이드쿼리는 클라이언트에서 중단되고 클러스터에 도달하지 않는 것으로 나타남을 참조하세요.

      Amazon EC2 인스턴스의 MTU 크기 설정에 대한 자세한 내용은 Amazon EC2 사용 설명서의 EC2 인스턴스의 네트워크 최대 전송 단위 (MTU) 를 참조하십시오.

    • 장기간 연결 – Amazon SES SMTP 엔드포인트는 Elastic Load Balancer(ELB) 뒤의 Amazon EC2 인스턴스 플릿에서 실행됩니다. 시스템의 내결함성을 보장하기 위해 활성 Amazon EC2 인스턴스는 주기적으로 종료되고 새 인스턴스로 교체됩니다. up-to-date 애플리케이션이 ELB를 통해 Amazon EC2 인스턴스와 연결되므로 Amazon EC2 인스턴스가 종료되면 연결이 무효화됩니다. 단일 SMTP 연결을 통해 고정된 수의 메시지를 전송한 후, 또는 SMTP 연결이 일정 시간 활성 상태를 유지한 후 새 SMTP 연결을 설정해야 합니다. 애플리케이션이 호스팅되는 위치와 Amazon SES로 이메일을 제출하는 방식에 따라 적절한 임계값을 찾는 실험이 필요합니다.

  • 네트워크에서 IP 주소 허용 목록을 작성할 수 있도록 Amazon SES SMTP 메일 서버의 IP 주소를 알고 싶은 경우.

    Amazon SES SMTP 엔드포인트의 IP 주소는 로드 밸런서 뒤에 있습니다. 따라서 이 IP 주소는 자주 바뀝니다. Amazon SES 엔드포인트의 모든 IP 주소에 대한 명확한 목록을 제공하는 것은 불가능합니다. 개별 IP 주소 허용 목록을 작성하는 대신 amazonses.com 도메인 허용 목록을 작성하는 것이 좋습니다.

Amazon SES에서 반환하는 SMTP 응답 코드

이 단원에는 Amazon SES SMTP 인터페이스에서 반환하는 응답 코드 목록이 나와 있습니다.

400 오류가 수신되는 SMTP 요청을 재시도해야 합니다. 갈수록 더 오래 대기했다가 요청을 재시도하도록 시스템을 구현하는 것이 좋습니다. 예를 들어, 재시도하기 전에는 5초를 대기하고, 그 다음 재시도 시에는 10초를, 그 다음에는 30초를 대기하는 식입니다. 세 번째 재시도에 실패하면 20분을 기다린 다음 이러한 프로세스를 반복합니다. 지수 재시도 정책을 사용하는 구현의 예를 보려면 AWS 메시징 및 타겟팅 블로그에서 ‘제한 - 최대 전송 속도 초과’ 오류를 처리 하는 방법을 참조하십시오.

참고

AWS SDK는 재시도 로직을 자동으로 구현하지만 SMTP 대신 HTTPS 인터페이스를 사용합니다.

500 오류가 발생하면 요청을 다시 제출하기 전에 요청을 수정해 문제를 해결해야 합니다. 예를 들어 AWS 인증 자격 증명이 유효하지 않은 경우 요청을 다시 제출하기 전에 올바른 자격 증명을 사용하도록 애플리케이션을 업데이트해야 합니다.

설명 응답 코드 추가 정보

인증 성공

235 Authentication successful

SMTP 클라이언트가 성공적으로 연결되어 SMTP 서버에 로그인했습니다.

전송 성공

250 Ok MessageID

MessageID는 Amazon SES가 메시지를 식별하기 위해 사용하는 고유한 문자열입니다.

서비스 사용 불가

421 Too many concurrent SMTP connections

현재, SMTP 서버에 대한 연결이 너무 많아 Amazon SES가 요청을 처리할 수 없습니다.

로컬 처리 오류

451 Temporary service failure

Amazon SES에서 요청을 처리할 수 없습니다. 요청이 처리되지 못하도록 막는 요청 관련 문제가 있을 수 있습니다.

제한 시간

451 Timeout waiting for data from client

요청 간에 너무 많은 시간이 경과하여 SMTP 서버가 연결을 차단했습니다.

일일 전송 할당량을 초과함

454 Throttling failure: Daily message quota exceeded

Amazon SES가 24시간 기준으로 전송을 허용한 최대 이메일 수를 초과했습니다. 자세한 정보는 Amazon SES 발신 한도 관리을 참조하세요.

최대 전송 속도를 초과함

454 Throttling failure: Maximum sending rate exceeded

Amazon SES가 초당 전송할 수 있도록 허용한 최대 이메일 수를 초과했습니다. 자세한 정보는 Amazon SES 발신 한도 관리을 참조하세요.

SMTP 자격 증명 검증 시 Amazon SES 문제

454 Temporary authentication failure

이 문제의 원인일 수 있는 문제에는 다음이 포함되지만 이에 국한되지는 않습니다.

  • 이메일 발송 애플리케이션과 Amazon SES 간 암호화에 문제가 있습니다. Amazon SES에 연결할 때는 암호화된 연결을 사용해야 합니다. 자세한 정보는 Amazon SES SMTP 엔드포인트에 연결을 참조하세요.

  • Amazon SES에 문제가 있는 것일 수 있습니다. AWS Service Health Dashboard에서 업데이트를 받으십시오.

요청 수신 중 오류 발생

454 Temporary service failure

Amazon SES에서 요청을 수신하지 못했습니다. 따라서 메시지가 전송되지 않았습니다.

잘못된 자격 증명

530 Authentication required

이메일을 보내는 데 사용하는 애플리케이션이 Amazon SES SMTP 인터페이스에 연결할 때 인증을 시도하지 않았습니다.

인증 자격 증명이 유효하지 않음

535 Authentication Credentials Invalid

이메일을 전송하는 데 사용하는 애플리케이션이 Amazon SES에 대해 올바른 SMTP 자격 증명을 제공하지 않았습니다. SMTP 자격 증명은 자격 증명과 동일하지 않다는 점에 유의하십시오 AWS . 자세한 정보는 아마존 SES SMTP 자격 증명 취득을 참조하세요.

Amazon SES에 가입되지 않은 계정

535 Account not subscribed to SES

SMTP 자격 증명을 AWS 계정 소유한 기업은 Amazon SES에 등록되지 않았습니다.

메시지가 너무 김

552 Message is too long.

전송하려는 메시지가 최대 메시지 크기보다 큽니다.

Amazon SES에 가입되지 않은 계정

535 Account not subscribed to SES

SMTP 자격 증명을 AWS 계정 소유한 기업은 Amazon SES에 등록되지 않았습니다.

MAIL FROM 구문 오류

553 <email-address> Invalid email address

SMTP 메시지의 MAIL FROM 부분에 구문 오류가 있습니다. 올바른 형식을 따르고 있는지 확인하고 이메일 주소를 '<>'로 묶는 것을 잊지 마세요.

RCPT TO 구문 오류

553 <email-address> address unknown

SMTP 메시지의 RCPT TO 부분에 구문 오류가 있습니다. 올바른 형식을 따르고 있는지 확인하고 이메일 주소를 '<>'로 묶는 것을 잊지 마세요.

사용자가 Amazon SES SMTP 엔드포인트를 호출할 권한이 없음

554 Access denied: User UserARN is not authorized to perform ses:SendRawEmail on resource IdentityARN

SMTP 자격 증명을 소유한 사용자의 AWS Identity and Access Management (IAM) 정책 또는 Amazon SES 전송 권한 부여 정책은 Amazon SES SMTP 엔드포인트를 호출하는 것이 허용되지 않습니다.

확인되지 않은 이메일 주소

554 Message rejected: Email address is not verified. The following identities failed the check in region region: identity0, identity1, identity2

Amazon SES 계정에서 이메일을 전송하도록 확인되지 않은 이메일 주소 또는 도메인에서 이메일을 전송하려고 합니다. 이 오류는 "From", "Source", "Sender" 또는 "Return-Path" 주소에 해당할 수 있습니다. 계정이 여전히 샌드박스에 있을 경우 Amazon SES 메일박스 시뮬레이터에서 제공하는 수신자를 제외한 모든 수신자 이메일 주소를 확인해야 합니다. Amazon SES에서 확인 점검에 실패한 ID를 모두 볼 수 없는 경우 오류 메시지가 마침표 세 개(...)로 끝납니다.

참고

Amazon SES에는 여러 AWS 리전 엔드포인트가 있으며 이메일 주소 확인 상태는 각 AWS 리전엔드포인트에 대해 별개입니다. 사용하려는 각 발신자에 대해 확인 프로세스를 완료해야 합니다. AWS 리전

참고

이 페이지의 문제 해결 단계를 따라 해결되지 않는 SMTP 문제의 경우 문의하기 아래에 나온 SES 지원 옵션을 사용해 봅니다.