Invia tutta la posta in uscita a / dev / null


12

Con sendmail, come invieresti tutta la posta in uscita a / dev / null o semplicemente impedire che le e-mail vengano messe in coda o inviate?

In una casella di nagios di sviluppo voglio impedire l'invio di posta in modo che le notifiche non vengano disattivate. L'arresto della posta in uscita mi consentirà di testare la configurazione dei nagios così com'è e di impedire le notifiche spurie.


Rimosso il tag Solaris, come domanda, e la soluzione non è affatto specifica del sistema operativo.
Steve Schnepp,

Risposte:


8

L'ho fatto sulla mia casella di sviluppo disabilitando completamente sendmail e poi facendo ascoltare un semplice script perl sulla porta SMTP e scaricare le e-mail in una directory. Sono sicuro che è possibile fare con la configurazione di sendmail, ma lo script perl è stato molto più semplice. Ecco ridotto all'essenziale:

#!/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); 
} 

Questa è una soluzione ancora migliore di quanto pensassi. Grazie.
cwebber,

+1 Che soluzione elegante, stavo per porre la stessa domanda.
Kev

6

Quanto segue invia tutto a / dev / null:

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

Questo presuppone che nel tuo / etc / alias:

bit-bucket: /dev/null

Fai attenzione a non solo digitare questo - c'è una TAB tra i due lati della regola.
Erica Kane,

Quale sistema di posta elettronica stai usando e dove aggiungi quella regola?
Teknopaul,

Sendmail standard da sendmail.org. La regola viene aggiunta a sendmail.mc e quindi sendmail.cf viene prodotto in base alle specifiche del proprio sistema operativo / distribuzione.
Adamo,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.