Отправить всю исходящую почту в / dev / null

12

С sendmail, как бы вы отправляли всю исходящую почту в / dev / null или просто не позволяли электронной почте ставиться в очередь или вообще отправляться?

На ящике для разработки nagios я хочу запретить отправку почты, чтобы уведомления не отправлялись. Остановка исходящей почты позволит мне проверить конфигурацию nagios как есть и предотвратить ложные уведомления.

cwebber
источник
В качестве вопроса удален тег Solaris, а решение вообще не зависит от ОС.
Стив Шнепп

Ответы:

8

Я сделал это в своем окне разработки, полностью отключив 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); 
} 
JOTN
источник
Это даже лучшее решение, чем я думал. Благодарю.
cwebber
+1 Какое элегантное решение я собирался задать тот же вопрос.
Кев
6

Следующее отправляет все в / dev / null:

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

Это предполагает, что в вашем / etc / aliases:

bit-bucket: /dev/null
Adamo
источник
Будьте внимательны, не вводите это просто - между двумя сторонами правила есть табуляция.
Эрика Кейн
Какую систему электронной почты вы используете и куда добавляете это правило?
Текнопаул
Стандартный sendmail от sendmail.org. Правило добавляется в sendmail.mc, а затем создается sendmail.cf в соответствии со спецификой вашей ОС / дистрибутива.
Адамо
0

попробуй smtp-раковину, доступную на linux

$ smtp-раковина -u постфикс -c nynode.com:25 1000

паника ядра
источник