Envoyer tout le courrier sortant à / dev / null

12

Avec sendmail, comment enverriez-vous tous les messages sortants vers / dev / null ou simplement empêcheriez-vous les e-mails d'être mis en file d'attente ou envoyés du tout?

Sur une boîte de développement nagios, je veux empêcher l'envoi de courrier afin que les notifications ne s'éteignent pas. L'arrêt du courrier sortant me permettra de tester la configuration de nagios telle quelle et d'éviter les notifications parasites.

cwebber
la source
Suppression de la balise solaris, comme question, et la solution n'est pas du tout spécifique au système d'exploitation.
Steve Schnepp

Réponses:

8

J'ai fait cela sur ma boîte de développement en désactivant complètement sendmail, puis en écoutant un simple script perl sur le port SMTP et en transférant les e-mails dans un répertoire. Je suis sûr que c'est possible avec la configuration de sendmail, mais le script perl était beaucoup plus facile. Voici l'essentiel:

#!/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
la source
C'est une solution encore meilleure que je ne le pensais. Merci.
cwebber
+1 Quelle élégante solution, j'étais sur le point de poser la même question.
Kev
6

Ce qui suit envoie tout à / dev / null:

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

Cela suppose que dans vos / etc / alias:

bit-bucket: /dev/null
adamo
la source
Attention à ne pas simplement taper ceci - il y a un TAB entre les deux côtés de la règle.
Erica Kane
Quel système de messagerie utilisez-vous et où ajoutez-vous cette règle?
teknopaul
Sendmail standard de sendmail.org. La règle est ajoutée à sendmail.mc, puis sendmail.cf est produite en fonction des spécificités de votre système d'exploitation / distribution.
adamo
0

essayez smtp-sink, disponible sur linux

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

panique du noyau
la source