postgrey가 인바운드 메일을 추적하는 방법을 이해해야 합니다. 그레이리스팅이 어떻게 작동하는지에 대한 개념은 알고 있지만 실제 방법을 알고 싶습니다. 그레이리스팅은 메일 서버가 특정 기간 동안 메일을 성공적으로 보낸 횟수를 계산하고, 필요한 임계값에 도달하면 X 시간 동안 알려진 메일 호스트가 됩니다.
나는 이해.
그러나 특정 메시지가 알 수 없는 메일 호스트로부터 처음으로 들어오는 경우 postgrey는 해당 개별 메시지를 어떻게 추적합니까? 즉, postgrey는 호환되는 서버에서 두 번째로 돌아올 때 해당 메시지가 "지연된" 메시지인지 어떻게 알 수 있습니까? " 메일?
답변1
동작을 요약하면 IP 주소 + 발신자 + 수신자에 대해 확인이 수행됩니다. 연결 상태는 Berkeley DB에 저장됩니다.
연결이 도착하면:
- 정의된 화이트리스트의 일부인 경우 허용됩니다.
- DB에 없으면 DB에 추가하고 연결을 거부합니다.
- 데이터베이스에 있는 경우:
- 첫 번째 재시도이고 retry_window를 초과하면 DB에서 삭제됩니다.
- 정의된 retry_window에 있으면 연결이 허용됩니다.
IP 주소, 보낸 사람 및 받는 사람의 세 쌍은 이제 "알려진 보낸 사람"으로 postgrey의 데이터베이스에 저장되며 동일한 주소의 다른 메시지는 지연 없이 즉시 전달되어야 합니다.
대부분의 스패머는 이 작업을 수행하지 않으므로 다시 보내 보십시오. 대부분의 스팸은 무시됩니다.
~에서포스그레이 소스 댓글
지난번에 실패했는지 확인하여 얼마나 기다려야 하는지 알려주는 헤더를 추가할 수 있습니다.
....
첫 번째 재시도이고 retry_window를 초과하는 경우 저장된 처음 표시된 데이터를 삭제합니다.