Надіслати всю вихідну пошту на / dev / null


12

Як sendmail, як би ви надіслали всю вихідну пошту в / dev / null або просто не допустили, щоб електронна пошта була в черзі чи взагалі надсилалась?

У вікні nagios розвитку я хочу запобігти надсиланню пошти, щоб повідомлення не виходили. Зупинення вихідної пошти дозволить мені перевірити конфігурацію nagios таким, який є, і запобігти помилковим сповіщенням.


Видалено 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); 
} 

Це ще краще рішення, ніж я думав. Дякую.
cwebber

+1 Яке вишукане рішення я збирався задати те саме питання.
Кев

6

Наступне надсилає все до / dev / null:

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

Це передбачає, що у / etc / псевдонімах:

bit-bucket: /dev/null

Будьте обережні, щоб не просто вводити це - між двома сторонами правила є TAB.
Еріка Кейн

Яку систему електронної пошти ви використовуєте та де ви додаєте це правило?
текнопаул

Стандартний sendmail від sendmail.org. Правило додається до sendmail.mc, а потім sendmail.cf виробляється у відповідності зі специфікою вашої ОС / дистрибуції.
adamo

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.