Назад | Перейти на главную страницу

Отправлять всю исходящую почту на / 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 -ink, доступный в Linux

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