SMTP 릴레이를 통해 메일 배송을 지연하려면 어떻게 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/835743

  •  08-07-2019
  •  | 
  •  

문제

SMTP 릴레이를 통해 메일 배송을 지연해야합니다.

메일 메시지는 Time T. Time T+4 시간에 대상으로 전달되는 Time T. 전달에 성공적으로 수신됩니다.

Sendmail 또는 기타 SMTP 릴레이에서 가능합니다.

배포 플랫폼은 IBM AIX입니다.

도움이 되었습니까?

해결책

당신은 당신의 질문에서 적어도 조금 더 구체적이어야했을 것입니다. 어쨌든 몇 가지 제안을 던질 것입니다.

4 시간마다 메일을 배달하려면 큐 전용 모드 (queue_mode = "cron"; sendmail.conf)에서 Sendmail을 실행하고 4 시간마다 실행할 대기열을 설정해야합니다 (queue_interval = "4H". ;). 나는 이것이 데비안과 같은 시스템에만 적용되지만 원칙은 어디에서나 동일하다. 큐 모드를 CRON으로 설정 한 다음 (실제로 인수에 의해 제어되고, sendmail을 시작하는 인수에 의해 제어됨) 주기적으로 처리한다.

메일 배송을 지연시키고 싶다면 당신은 그것을하고 싶습니다. 인기있는 솔루션 중 하나입니다 그레일리스트, 호스트가 MTA (SendMail, F.Ex.)에 연결하면 시간 간격으로 다시 시도하라는 프롬프트와 함께 튀어 오릅니다. 올바르게 구성된 메일러는 그저 그렇게 할 것입니다. 메일을 다시 보내려고하면 결국 메시지가 수락 및 전달 (또는 전달)됩니다. 반면에 대부분의 스팸 봇은 오류를 받으면 메시지를 재현하려고 시도하지 않습니다. Sendmail에서 Greylisting이 필요한 경우 여기에서 읽을 수 있습니다. http://www.greylisting.org/implementations/sendmail.shtml

이것이 적어도 조금 도움이 되었기를 바랍니다.

편집하다:

알았어 그래서 지금 나는 당신이해야 할 일을 봅니다. 다음은 Sendmail을 사용하는 가능한 솔루션입니다 (저는 몇 년 동안 어떤 방식 으로든 Sendmail을 다루고 있습니다. : P) : 두 가지를 사용합니다.

첫 번째는 단지 메일을 받고 대기열을 받고 (그리고 중요합니다) 대기열을 처리하지 못합니다. 두 번째 sendmail 인스턴스는 별도의 큐를 실행하고 큐 큐 모드는 데몬 또는 크론 (예 : 매 순간)으로 설정됩니다. 이제 메시지의 "나이"에 도달하면 메일을 첫 번째 대기열에서 두 번째로 이동하는 외부 스크립트를 작성하는 것입니다. 대기열 항목은 단지 파일이기 때문에, Perl (지옥, 쉘 스크립트도 그렇게 할 수 있음)의 몇 줄로 수행되는 쉬운 작업입니다. 대기열에서 큐에서 큐로 이동하는 것은 디렉토리에서 디렉토리로의 파일을 이동하는 것만 큼 쉽습니다. 이 기술은 Spamassassin과 같은 우편 처리 솔루션에서 널리 사용되므로 내 마음에 들고있는 이상한 마음이 아닙니다.

이것이 당신에게 힌트를주기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top