[server] 모든 발신 메일을 / dev / null로 보내기

sendmail을 사용하면 보내는 모든 메일을 / dev / null로 보내거나 전자 메일이 대기열에 들어가거나 전혀 보내지 못하게하려면 어떻게합니까?

개발 nagios 상자에서 메일이 발송되지 않도록 알림이 발송되지 않도록하고 싶습니다. 발신 메일을 중지하면 nagios 구성을 그대로 테스트하고 허위 알림을 방지 할 수 있습니다.



답변

sendmail을 완전히 비활성화하고 간단한 perl 스크립트가 SMTP 포트에서 수신 대기하고 이메일을 디렉토리에 덤프하여 개발 상자 에서이 작업을 수행했습니다. sendmail 구성으로 할 수 있다고 확신하지만 perl 스크립트가 훨씬 쉽습니다. 다음은 필수 사항으로 요약되었습니다.

#!/usr/bin/perl -w
use Net::SMTP::Server;
use Net::SMTP::Server::Client;

$server = new Net::SMTP::Server || die("$!\n");

while($conn = $server->accept()) {
  my $client = new Net::SMTP::Server::Client($conn) ||
    die("Unable to handle client connection: $!\n");
  $client->process || next;

  # Here's where you can write it out or just dump it. Set $filename to
  # where you want to write it
  open(MAIL,"> $filename") || die "$filename: $1";
  print(MAIL "$client->{MSG}\n");
  close(MAIL);
}


답변

다음은 모든 것을 / dev / null로 보냅니다.

LOCAL_RULE_0
R$* < @ $* > $*       $#local $: bit-bucket

이것은 / etc / aliases에서 다음을 가정합니다.

bit-bucket: /dev/null


답변

리눅스에서 사용 가능한 smtp-sink를 사용해보십시오

$ smtp-sink -u postfix -c nynode.com:25 1000


답변