Enviar todo el correo saliente a / dev / null

12

Con sendmail, ¿cómo enviaría todo el correo saliente a / dev / null o simplemente evitaría que el correo electrónico se ponga en cola o se envíe?

En un cuadro de desarrollo de nagios quiero evitar el envío de correo para que las notificaciones no salgan. Detener el correo saliente me permitirá probar la configuración de nagios tal como está y evitar las notificaciones espurias.

cwebber
fuente
Se eliminó la etiqueta solaris, como la pregunta, y la solución no es específica del sistema operativo en absoluto.
Steve Schnepp

Respuestas:

8

Hice esto en mi cuadro de desarrollo desactivando sendmail por completo y luego haciendo que un simple script perl escuchara en el puerto SMTP y volcara los correos electrónicos en un directorio. Estoy seguro de que es posible hacerlo con la configuración de sendmail, pero el script perl fue mucho más fácil. Aquí está despojado de lo esencial:

#!/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
fuente
Esta es una solución aún mejor de lo que estaba pensando. Gracias.
cwebber
+1 Qué solución tan elegante, estaba a punto de hacer la misma pregunta.
Kev
6

Lo siguiente envía todo a / dev / null:

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

Esto supone que en su / etc / aliases:

bit-bucket: /dev/null
adamo
fuente
Tenga cuidado de no solo escribir esto: hay una TAB entre los dos lados de la regla.
Erica Kane
¿Qué sistema de correo electrónico está utilizando y dónde agrega esa regla?
teknopaul
Sendmail estándar de sendmail.org. La regla se agrega a sendmail.mc y luego sendmail.cf se produce de acuerdo con las especificaciones de su sistema operativo / distribución.
adamo
0

pruebe smtp-sink, disponible en linux

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

panico kernel
fuente