반송(바운스)
전송 불가 보고서(NDR)
전송 불가 보고서, 즉 NDR(non-delivery report)은 내가 보낸 메일이 전달되지 않았다고 알려 주는 자동 메일입니다. 실패한 주소와 그 이유를 설명하는 코드가 들어 있습니다. 대부분의 사람은 반송 메시지라고 부릅니다.
전송 불가 보고서(NDR)란?
전송 불가 보고서, 즉 NDR(non-delivery report)은 메일이 전달되지 않았다고 알려 주는 자동 메일입니다. 메일을 보낸 뒤 몇 초에서 몇 시간 사이에 도착합니다.
대부분의 사람은 반송 메시지라고 부릅니다. 이메일 표준에서 쓰는 기술적인 이름은 전송 상태 알림(delivery status notification), 즉 DSN입니다. 세 이름은 모두 같은 것을 가리킵니다.
NDR의 발신 주소는 보통 MAILER-DAEMON@ 또는 postmaster@ 형태입니다. 이 주소는 메일 서버의 자동 발신자입니다. 사람이 직접 쓰는 메시지가 아닙니다. 메일러 데몬이라는 프로그램이 만듭니다.
간단한 예
NDR이 도착하는 과정은 다음과 같습니다.
- 아나가 청구서를 보냅니다. 아나는 경리 담당자입니다. mark@oldfirm.example를 쓰는 고객에게 청구서를 보냅니다.
- 주소가 없어졌습니다. 마크는 작년에 그 회사를 떠났습니다. 마크의 메일함은 삭제되었습니다.
- 서버가 거부합니다. oldfirm.example의 메일 서버에는 마크의 메일함이 없습니다. 서버는 메일을 거부합니다.
- NDR이 도착합니다. 1분 뒤 아나는 “Undeliverable” 또는 “Delivery Status Notification (Failure)”라는 제목의 메일을 받습니다.
- 아나가 코드를 읽습니다. 메일 안에서
550 5.1.1을 찾습니다. 이 코드는 주소가 존재하지 않는다는 뜻입니다. - 아나가 문제를 해결합니다. 고객에게 새 연락처를 물어 그 주소로 청구서를 보냅니다.
NDR이 문제를 일으킨 것은 아닙니다. 아나에게 문제를 알려 주었을 뿐입니다.
NDR에 들어 있는 내용
대부분의 NDR은 메일 앱마다 모양은 달라도 같은 부분으로 이루어져 있습니다.
| 부분 | 보여 주는 것 |
|---|---|
| 실패한 주소 | 메일을 받지 못한 주소 |
| 오류 코드 | 문제를 설명하는 짧은 코드, 예: 550 5.1.1 |
| 서버 메시지 | 받는 쪽 서버가 보낸 문장, 예: “user unknown” |
| 원래 보낸 메일 | 무엇이 실패했는지 볼 수 있도록 첨부되는 경우가 많습니다 |
코드 읽는 방법
코드의 첫 번째 숫자가 문제의 유형을 알려 줍니다.
| 첫 번째 숫자 | 유형 | 의미 | 할 일 |
|---|---|---|---|
| 5 | 하드 바운스 | 영구적인 실패입니다. 주소가 없거나, 서버가 나를 차단했을 수 있습니다. | 둘 중 어느 쪽인지 알기 전에는 그 주소로 다시 보내지 않습니다. |
| 4 | 소프트 바운스 | 일시적인 실패입니다. 메일함이 가득 찼거나 서버가 바쁠 수 있습니다. | 기다립니다. 메일 서버가 알아서 다시 시도합니다. |
흔한 예 두 가지는 다음과 같습니다.
550 5.1.1은 주소가 존재하지 않는다는 뜻입니다. 리스트에서 지우십시오.452 4.2.2는 메일함이 가득 찼다는 뜻입니다. 나중에 다시 시도하십시오.
보내지 않은 메일에 대한 NDR을 받았을 때
가끔 쓴 적도 없는 메일에 대한 NDR이 도착합니다. 이것을 백스캐터라고 합니다. 스패머가 발신자 칸에 내 주소를 넣었고, 그 메일이 실패하자 NDR이 나에게 온 것입니다. 대개 계정이 해킹된 것은 아닙니다. 도메인에 SPF, DKIM, DMARC 레코드를 게시하면, 받는 쪽 서버가 나에게 NDR을 보내는 대신 가짜 메일을 거부하는 데 도움이 됩니다.
NDR이 발신자에게 중요한 이유
쓰이지 않는 주소에서 오는 NDR은 하나하나가 나에게 불리하게 작용합니다. Google, Microsoft 같은 메일 서비스 제공업체는 내 메일 중 존재하지 않는 주소로 가는 메일이 몇 통인지 지켜봅니다. 5.1.1이 담긴 NDR이 많으면 리스트가 오래되었다는 것이 업체에 드러납니다.
예: 한 쇼핑몰이 오래된 연락처 5,000개에 할인 안내를 보냅니다. NDR이 400통 돌아오면 리스트의 8%입니다. 많은 발송 플랫폼은 이 정도 숫자가 나온 계정을 검토하거나 일시 정지합니다. 이 숫자는 예시일 뿐입니다.
검증 도구가 도움이 되는 부분
이메일 유효성 검사 도구는 보내기 전에 받는 쪽 서버에 주소에 대해 묻습니다. 서버는 NDR에 넣었을 것과 같은 답을 줍니다. 차이는 메일을 보내지 않았으므로 아무것도 반송되지 않고 평판에도 영향이 없다는 점입니다.
관련 용어
- MAILER-DAEMON(메일러 데몬)메일러 데몬(mailer-daemon)은 메일 서버에서 자동 메시지를 보내는 프로그램입니다. 이 메시지는 대부분 반송 알림입니다. 메일러 데몬에게서 메시지가 왔다면 내가 보낸 메일이 전달되지 않았다는 뜻입니다.
- 하드 바운스하드 바운스란 받는 쪽 서버가 영구적으로 거부한 메일입니다. 주소가 없거나, 도메인이 없거나, 서버가 내 메일을 차단한 경우입니다. 같은 메일을 다시 보내도 다시 실패합니다.
- 소프트 바운스소프트 바운스란 일시적인 문제 때문에 이번에는 전달되지 않은 메일입니다. 주소는 실제로 있습니다. 메일함이 가득 찼거나, 서버가 바쁘거나, 서버가 나중에 다시 시도하라고 요청한 경우입니다.
- 백스캐터백스캐터란 보낸 적 없는 메일에 대해 받는 반송 메시지입니다. 스패머가 스팸 메일의 발신자 칸에 내 주소를 넣은 것입니다. 그 메일이 전달되지 못하면 반송 메시지가 내 주소로 돌아옵니다.
- Return-PathReturn-Path는 반송 메시지가 가는 주소입니다. 보내는 서버가 정하며, 받은편지함에서 보이는 From 주소와 다른 경우가 많습니다. SPF는 Return-Path의 도메인을 확인합니다.
- SMTPSMTP는 Simple Mail Transfer Protocol의 약자입니다. 메일 서버끼리 메일을 보낼 때 쓰는 규칙입니다. 내가 보내는 모든 메일은 SMTP로 서버에서 서버로 전달됩니다.
