Wyślij całą pocztę wychodzącą na adres / dev / null

12

W przypadku sendmaila, w jaki sposób miałbyś wysyłać całą pocztę wychodzącą do / dev / null, czy po prostu zapobiegać kolejce lub w ogóle wysyłaniu wiadomości e-mail?

W polu nagios deweloperskim chcę uniemożliwić wysyłanie poczty, aby powiadomienia nie wychodziły. Zatrzymanie poczty wychodzącej pozwoli mi przetestować konfigurację nagios bez zmian i zapobiec fałszywym powiadomieniom.

cwebber
źródło
Usunięto tag solaris jako pytanie, a rozwiązanie w ogóle nie jest specyficzne dla systemu operacyjnego.
Steve Schnepp,

Odpowiedzi:

8

Zrobiłem to w moim oknie programistycznym, całkowicie wyłączając sendmaila, a następnie mając prosty skrypt Perla nasłuchujący na porcie SMTP i wrzucając e-maile do katalogu. Jestem pewien, że można to zrobić z konfiguracją sendmaila, ale skrypt perla był znacznie łatwiejszy. Oto najważniejsze informacje:

#!/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
źródło
To jest jeszcze lepsze rozwiązanie, niż myślałem. Dzięki.
cwebber
+1 Co za eleganckie rozwiązanie, miałem zadać to samo pytanie.
Kev
6

Poniższe polecenie wysyła wszystko do / dev / null:

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

Zakłada się, że w aliasach / etc /:

bit-bucket: /dev/null
adamo
źródło
Uważaj, aby nie wpisać tego po prostu - pomiędzy dwiema stronami reguły znajduje się TAB.
Erica Kane,
Z jakiego systemu poczty e-mail korzystasz i gdzie dodajesz tę regułę?
teknopaul
Standardowy sendmail z sendmail.org. Reguła zostaje dodana do sendmail.mc, a następnie sendmail.cf jest tworzony zgodnie ze specyfiką twojego systemu operacyjnego / dystrybucji.
adamo
0

wypróbuj smtp-sink, dostępny na Linuksie

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

panika jądra
źródło