postgrey는 인바운드 메일을 어떻게 추적합니까?

postgrey는 인바운드 메일을 어떻게 추적합니까?

postgrey가 인바운드 메일을 추적하는 방법을 이해해야 합니다. 그레이리스팅이 어떻게 작동하는지에 대한 개념은 알고 있지만 실제 방법이 궁금합니다. 그레이리스팅은 특정 기간 동안 메일 서버가 메시지를 성공적으로 보낸 횟수를 계산하고 원하는 임계값에 도달하면 X 시간 동안 알려진 메일 호스트가 됩니다.

나는 이해.

그러나 알 수 없는 메일 호스트로부터 특정 메일이 처음으로 들어오는 경우 postgrey는 어떻게 이 개별 메시지를 추적합니까? 즉, 해당 메일이 두 번째로 호환 서버에서 돌아올 때 postgrey는 그것이 "지연된" 메일임을 어떻게 알 수 " 메일?

답변1

동작을 요약하면 IP 주소+발신자+수신자를 대상으로 확인이 이루어집니다. 연결 상태는 Berkeley DB에 보관됩니다.

연결이 도착하면:

  • 정의된 화이트리스트의 일부인 경우 허용됩니다.
  • DB에 없으면 DB에 추가되고 연결이 거부됩니다.
  • DB에 있는 경우:
    • 첫 번째 재시도인 경우 retry_window를 초과하면 DB에서 삭제됩니다.
    • 정의된 retry_window에 있으면 연결이 허용됩니다.

에서스팸 방지를 위한 그레이리스팅

IP 주소, 발신자 및 수신자의 삼중 항목은 이제 "알려진 발신자"로 postgrey 데이터베이스에 저장되며 동일한 주소에서 오는 추가 메일은 지체 없이 즉시 배달되어야 합니다.

대부분의 스패머는 이를 수행하지 않기 때문에 두 번째로 배달을 시도하십시오. 대부분의 스팸 메일은 무시됩니다.

에서포스그레이 소스 코멘트

마지막 시간이 실패했는지 확인하여 얼마나 기다려야 했는지 알려주는 헤더를 추가할 수 있습니다.
....
첫 번째 재시도이고 retry_window를 초과하는 경우 처음 본 저장된 항목을 삭제합니다.

관련 정보