가변 봉투 반환 경로

Variable envelope return path

VERP(Variable Envelope Return Path)는 배달할 수 없는 전자우편 주소의 자동 탐지 및 제거를 가능하게 하기 위해 일부 전자우편 목록 소프트웨어에서 사용하는 기법이다.이것은 메시지의 각 수신인에 대해 다른 반환 경로("envelope 발송인"이라고도 함)를 사용하여 작동한다.

동기

모든 장수 우편물 목록은 결국 도달할 수 없는 주소를 포함할 것이다.일단 유효했던 주소는 거기서 메일을 받는 사람이 다른 제공자로 바뀌었기 때문에 사용할 수 없게 될 수 있다.또 다른 시나리오에서는, 더 이상 받아들일 여지가 없을 때까지 읽지 않은 메일이 누적되어, 주소는 여전히 존재하지만 버려질 수 있다.

메시지가 메일링 리스트로 전송되면 메일링 리스트 소프트웨어는 메시지를 목록의 모든 주소로 다시 전송한다.목록에 유효하지 않은 주소가 있으면 목록의 소유자에게 바운스 메시지가 전송된다.메일링 목록이 작을 경우 소유자는 바운스 메시지를 읽고 목록에서 잘못된 주소를 수동으로 제거할 수 있다.메일링 리스트가 더 큰 상황에서 이것은 지루하고 불쾌한 일이므로 프로세스를 자동화하는 것이 바람직하다.

그러나 대부분의 바운스 메시지는 역사적으로 소프트웨어가 자동으로 처리하는 것이 아니라 사용자가 읽도록 설계되었다.그들은 모두 같은 기본 아이디어("X에서 Y까지의 메시지는 이유 Z 때문에 전달되지 못했다")를 전달하지만, 너무 많은 변형으로 인해 모든 바운스 메시지의 의미를 신뢰성 있게 해석하는 프로그램을 작성하는 것은 거의 불가능할 것이다.RFC 1894(RFC 3464)는 이 문제를 해결하기 위한 표준 형식을 정의하지만, 표준에 대한 지원은 보편적인 것과는 거리가 멀다.그러나, 몇 가지 일반적인 형식(예: RFC 3464, qmail의 qsbmf, 마이크로소프트의 Exchange용 DSN 형식)이 있으며, 이 형식은 바운스의 많은 부분을 차지한다.

Microsoft Exchange는 원본 메시지가 전송된 주소에 대한 아무런 표시도 제공하지 않고 때때로 메시지를 튕길 수 있다.Exchange가 의도된 수신자를 알고 있지만 해당 수신인에 대한 전자 메일을 수신하지 않을 경우 해당 수신인의 주소가 누락된다.메시지가 전송되는 경우joe@example.com그리고 서버는 이것이 "Joe User"라는 것을 알고, "Joe User"에게 메시지가 전달될 수 없다는 메시지를 바운스로 튕겨서 다음 메시지를 생략할 것이다.joe@example.com총계하여 말하다VERP는 그러한 반동을 정확하게 다룰 수 있는 유일한 실행 가능한 방법이다.

VERP가 바운스 처리 문제를 해결하는 방법

바운스 취급의 어려운 부분은 바운스를 발생시킨 배달 불가능한 주소와 바운스 메시지를 일치시키는 것이다.메일링 목록 소프트웨어에서 바운스가 메시지 전송 시도에 의해 발생했음을 확인할 수 있는 경우user@example.com, 그러면 바운스의 나머지 정보를 이해할 필요가 없다.최근 user@example.com에 보낸 메시지 수, 그리고 얼마나 많은 반바운스가 나왔는지 간단히 셀 수 있으며, 반바운스 메시지의 비율이 너무 높으면 그 주소가 목록에서 삭제된다.

일반적으로 바운스 메시지 형식은 매우 다양하지만, 바운스 메시지의 한 측면은 그것이 전송될 주소라는 매우 예측 가능하다.VERP는 이것을 최대한 활용한다.VERP를 사용하는 메일링 리스트에서는 각 수신인에 대해 다른 발신인 주소가 사용된다.

메일링 리스트 관리자는 X에서 Y로 메시지를 보냈다는 것을 알고 있기 때문에, 주소 X에서 바운스 메시지를 수신할 경우, 오직 주소 Y가 배달할 수 없었기 때문일 수 있다, 왜냐하면 X에서 다른 주소로 전송된 것이 없기 때문이다.따라서 중요한 정보는 바운스 메시지에서 내용을 이해할 필요 없이 추출되었으며, 이는 목록 담당자가 수동으로 처리할 필요가 없다는 것을 의미한다.

기원

이 솔루션의 첫 번째 진지한 주창자, 그리고 그것을 설명하는 VERP라는 용어의 원조는 대니얼 J. 번스타인이었는데, 그는 이 아이디어를 자신의 Qmail MTAezmlm 메일링 리스트 매니저에서 처음으로 실행에 옮겼다.[1]

라고 하는 메일링 리스트가 있다고 가정해 보십시오.wikipedians@example.net그리고 한 개인이bob@example.org구독을 신청했지만 나중에 밥은 example.org을 떠났기 때문에 그의 주소는 더 이상 유효하지 않다.누군가가 목록에 메시지를 보낼 때 어떤 일이 일어나는지 생각해 보아라.

VERP 미포함

VERP가 없으면 메일링 목록 관리자가 다음과 같은 특성을 가진 메시지를 보낼 수 있다.

  • 봉투 발송인:wikipedians-owner@example.net
  • 수신자:bob@example.org

이렇게 되면 example.net 또는 example.org의 MTA에 의해 다음과 같은 특성을 가진 바운스가 발생할 수 있다.

  • 봉투 보낸 사람: 비어 있음
  • 수신자:wikipedians-owner@example.net
  • 내용: example.org은 bob에게 다음과 같은 메시지를 전달할 수 없었다: ...

메일링 리스트 관리자는 이 바운스의 내용을 이해할 수 있을 것이라고 기대할 수 없고, 밥 외에 수백 명의 다른 사람들도 메세지를 받았기 때문에 수신인 주소에서 아무것도 추론할 수 없다.wikipedians-owner@example.net.

VERP 포함

VERP의 경우 원본 메시지는 다음과 같이 달라진다.

  • 봉투 발송인:wikipedians-owner+bob=example.org@example.net
  • 수신자:bob@example.org

그렇다면 반올림이 더 유용할 것이다.

  • 봉투 보낸 사람: 비어 있음
  • 수신자:wikipedians-owner+bob=example.org@example.net
  • 내용: example.org은 bob에게 다음과 같은 메시지를 전달할 수 없었다: ...

이 바운스 메시지로부터 메일링 리스트 관리자는 그 메시지를 추측할 수 있다.bob@example.org틀림없이 실패했을 것이다.

이 예는 VERP를 목록 가입자와 일치시키는 가장 간단한 방법을 보여준다: 전체 수신자 주소는 반환 경로 내에 포함되며, at 기호는 두 개의 기호가 있는 반환 경로가 무효가 되기 때문에 등호 부호로 대체된다.다른 인코딩 방식도 가능하다.

VERP를 지원하는 소프트웨어

단점들

VERP를 사용하려면 각 수신 SMTP 서버에 한 번 보내는 것이 아니라 모든 수신자에 대해 한 번 메시지를 전송해야 한다.이는 단일 트랜잭션에서 여러 수신인 주소를 지정하되 발신인 주소는 하나만 지정할 수 있는 SMTP의 제한 때문이다.동일한 도메인에 가입자가 많을 경우 VERP를 사용하지 않는 메일링 리스트는 여러 개의 배달물을 하나의 거래로 결합할 수 있다.도메인에 적합한 서버에 접속해 단일 발신인 주소와 수신인 주소를 부여한 뒤 메시지 내용을 한 번만 전송한다.

반면 VERP를 이용한 메일링 리스트는 전체 메시지 본문을 반복적으로 전송해야 하므로 대역폭 사용량이 전반적으로 증가하게 된다.이러한 비효율성은 VERP를 사용하지 않을 때에도 Qmail은 항상 수신자당 한 번씩 메시지를 보내기 때문에 특히 qmail 사용자에게는 큰 문제로 여겨지지 않는다.일부 패키지는 선택적으로 적용함으로써 VERP의 영향을 완화한다. 예를 들어 메일링 목록 관리자는 10개의 메일링 중 1개에만 VERP를 사용할 수 있다.이렇게 하면 매번 처리 및 네트워크 오버헤드를 초래하지 않고도 VERP의 엄격한 바운스 제어와 정확한 피드백을 많이 얻을 수 있다.

VERP(및 모든 자동 바운스 처리 방식)의 또 다른 문제는 인터넷 상에 기본 SMTP 표준을 준수하지 못하는 MTA가 있다는 것이다.VERP는 봉투 발송인에게 바운스가 발송되는 규칙에 따라 수신인의 MTA에 의존한다.이는 1982년 SMTP가 시작된 이래 표준 요구사항이 되어 왔으나(RFC 821 참조), 여전히 일반적으로는 그 주소지로 튕겨서 틀리는 MTA가 존재한다.From: 머리글

그레이리스트링을 구현하는 시스템은 봉투 발송인이 위에서 언급한 형식을 따를 경우 VERP와 함께 작동한다.그러나 일부 VERP 구현에서는 메시지 번호나 임의 키를 VERP의 일부로 사용하므로 그레이리스트링 시스템이 "비슷한" 발신인 주소를 동등한 것으로 취급하지 않는 한 메일링 리스트에 대한 각 게시물이 지연된다.

참고 항목

참조

  1. ^ D. J. 번스타인 qmail, 1997년 2월 1일
  2. ^ https://meta.discourse.org/t/handling-bouncing-e-mails/45343
  3. ^ "Email Delivery for IT Professionals. A MailChimp Guide" (PDF). Mailchimp.
  4. ^ http://compgroups.net/comp.mail.sendmail/sendmail-verp-ruleset/1311680