Route 53에서 SMTP 서버에 대한 MX 레코드를 생성한 후 서버에서 이메일을 수신할 수 없는 이유는 무엇입니까?

최종 업데이트 날짜: 2021년 4월 24일

Amazon Route 53에서 Simple Mail Transfer Protocol(SMTP) 서버에 대한 메일 교환기(MX) 레코드를 생성했습니다. 그런데 현재 서버에서 이메일을 수신할 수 없습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

Route 53 DNS 서비스에 대해 구성한 퍼블릭 호스팅 영역이 제대로 구성되지 않은 경우 클라이언트는 SMTP 서버에 연결할 수 없습니다. 다음 사항을 확인합니다.

  • 퍼블릭 호스팅 영역이 적절한 리소스 레코드 세트로 채워져 있습니다.
  • AWS 외 도메인 이름 등록 대행자가 Route 53 퍼블릭 호스팅 영역의 이름 서버를 가리킵니다.

해결 방법

참고: AWS 명령줄 인터페이스(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

적절한 리소스 레코드 세트를 사용하고 있는지 확인

SMTP 서버에 대해 적합한 리소스 레코드 세트를 생성했는지 확인합니다. 자세한 내용은 Amazon Route 53 리소스 레코드를 생성 또는 편집할 때 지정하는 값을 참조하세요. 퍼블릭 호스팅 영역에 최소한 SMTP 서버의 MX 레코드가 포함되어 있어야 합니다. 자세한 내용은 단순 레코드 값을 참조하세요.

AWS 외 도메인 이름 등록 대행자가 Route 53 퍼블릭 호스팅 영역의 이름 서버를 가리키고 있는지 확인

2.    DNS 서비스에 대해 Route 53을 사용하고 도메인 등록을 위해 다른 도메인 이름 등록 대행자를 사용하는 경우 도메인 이름 등록업체가 Route 53 퍼블릭 호스팅 영역의 이름 서버를 참조하는지 확인합니다. 이렇게 하려면 인터넷 기반 whois 유틸리티를 쿼리하여 다음을 수행합니다.

  • 도메인 이름의 등록 대행자를 찾습니다. 쿼리 필드에 도메인 이름을 입력하고 [도메인(Domain)] 옵션을 선택한 다음 [제출(Submit)]을 선택합니다. 쿼리 결과에 도메인 이름 등록 대행자 및 도메인 이름에 대한 권한 있는 이름 서버도 포함됩니다.
    참고: 쿼리 결과가 Route 53 퍼블릭 호스팅 영역과 연결된 이름 서버 이외의 이름 서버 목록을 반환하면 SMTP 서버에 대한 DNS 쿼리가 Route 53로 전송되지 않습니다. 도메인 이름과 연결된 이름 서버 목록을 업데이트하도록 도메인 이름 등록업체에 문의합니다.
  • 도메인 등록 대행자의 연락처 정보를 찾습니다. 쿼리 필드에 등록 대행자의 이름을 입력하고 [등록 대행자(Registrar)] 옵션을 선택한 다음 [제출(Submit)]을 선택합니다. 이 정보를 사용하여 도메인 등록 대행자에 문의합니다. 도메인에 대한 Route 53 퍼블릭 호스팅 영역의 이름 서버를 참조하도록 도메인 이름의 이름 서버 목록을 업데이트하도록 도메인 등록 대행자에 문의합니다.
  • 등록 대행자의 이름 서버에서 Time To Live(TTL)가 만료되기 전에 전송하려는 DNS 서비스가 도메인의 리소스 레코드 세트를 삭제하지 않는지 확인합니다. Route 53 DNS 서비스는 도메인 이름 서버 레코드의 TTL 기간이 경과할 때까지 도메인 이름에 대한 DNS 쿼리에 응답하지 않습니다. 자세한 내용은 DNS 설정을 변경하였지만 적용되지 않음을 참조하세요.

DNS MX 레코드 세트 문제인지 확인

1.    다음 명령을 사용하여 도메인에 대한 MX 레코드가 있는지 확인합니다.

Linux 또는 macOS에서는 다음을 사용합니다.

dig <domain name> MX

dig 출력의 예제:

$ dig amazon.com MX

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.2 <<>> amazon.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61726
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;amazon.com.                    IN      MX

;; ANSWER SECTION:
amazon.com.             300     IN      MX      5 amazon-smtp.amazon.com.
;; Query time: 1 msec
;; SERVER: 10.10.0.2#53(10.10.0.2)
;; WHEN: Wed Apr 14 06:21:43 UTC 2021
;; MSG SIZE  rcvd: 67

Windows에서는 다음을 사용합니다.

nslookup -type=MX <domain name>

nslookup 출력 예제:

$ nslookup -type=MX amazon.com
Server:         10.10.0.2
Address:        10.10.0.2#53

Non-authoritative answer:
amazon.com      mail exchanger = 5 amazon-smtp.amazon.com.

2.    다음 명령을 사용하여 MX 레코드 호스트 이름을 확인할 수 있는지 확인합니다.

Linux 또는 macOS에서는 다음을 사용합니다.

dig <MX record>

dig 출력의 예제:

$ dig amazon-smtp.amazon.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.2 <<>> amazon-smtp.amazon.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64180
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;amazon-smtp.amazon.com.                IN      A

;; ANSWER SECTION:
amazon-smtp.amazon.com. 27      IN      A       52.94.124.7

;; Query time: 1 msec
;; SERVER: 10.10.0.2#53(10.10.0.2)
;; WHEN: Wed Apr 14 06:41:18 UTC 2021
;; MSG SIZE  rcvd: 67

Windows에서는 다음을 사용합니다.

nslookup <MX record>

nslookup 출력 예제:

$ nslookup amazon-smtp.amazon.com
Server:         10.10.0.2
Address:        10.10.0.2#53

Non-authoritative answer:
Name:   amazon-smtp.amazon.com
Address: 52.119.213.154

참고: 일부 DNS 공급자는 MX 레코드 세트 이름 앞에 at 기호(@)를 추가해야 합니다. 또는 공급자가 루트 도메인에 대한 MX 레코드 세트를 생성할 때 이름 "@"을 포함하는 MX 레코드 세트를 생성하도록 요구할 수 있습니다. 그러나 Route 53 MX 레코드 세트 이름 앞에 "@" 또는 다른 기호를 추가하지 마십시오. Route 53에서 루트 도메인에 대한 MX 레코드 세트를 생성하려면 레코드 세트 이름을 비워 둡니다. 그런 다음, Route 53 MX 레코드 세트의 나머지 필드에 적절한 값을 제공합니다.

이메일 전송 및 수신 테스트

메일 서버에 연결하고 SMTP 명령을 사용하여 이메일을 전송 및 수신 기능을 테스트합니다.

1.    다음 명령을 입력한 다음 Enter키를 누릅니다.

telnet <mail server name or IP> <mail server port number>

참고: 이 명령을 입력하는 동안 입력 오류가 발생하면 Enter키를 눌러야 합니다. 이 경우 백스페이스 또는 Delete 키는 눌러도 작동하지 않습니다. Enter키를 누른 후 명령을 다시 시도합니다. 경우에 따라 텔넷 세션을 닫고 다시 연결해야 할 수도 있습니다.

2.    다음 명령을 입력한 다음 Enter키를 누릅니다.

EHLO <YOUR MAIL SERVER FULLY QUALIFIED DOMAIN NAME>

3.    다음 명령을 입력한 다음 Enter키를 누릅니다.

mail from: <your_name@yourdomainname>

서버는 "250 OK"로 응답합니다.

4.    다음 명령을 입력한 다음 Enter키를 누릅니다.

rcpt to: <recipient@yourdomainname>

참고: 발신자와 수신자의 이메일 주소는 동일할 수 있습니다.

서버는 "250 Accepted"로 응답합니다.

중요: 서버에서 발신자 및 수신자와 같은 정보를 확인할 수 있는 경우 메시지가 수락된 것으로 확인됩니다.

5.    다음 명령을 입력한 다음 Enter키를 누릅니다.

data

6.    다음 명령을 입력한 다음 Enter키를 누릅니다.

Subject: <specify subject here>

7.    다음 명령을 입력한 다음 Enter키를 누릅니다.

<specify your message here>

8.    다음 명령을 입력한 다음 Enter키를 누릅니다.

.

메시지가 전송을 위해 수락됩니다. 서버는 "250 OK"로 응답하며, 이는 이메일이 전송되었음을 나타냅니다.

9.    MX 레코드가 올바르게 구성되었지만 SMTP 서버가 여전히 이메일을 수신할 수 없는 경우 이메일 서비스 공급자에게 문의하세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?