Postfix: wie man einen Absprung erzeugt

961
Sergey Romanovsky

Gibt es eine Möglichkeit, einen Absprung programmgesteuert zu generieren? Das einzige, was ich gefunden habe, ist das "-N" -Flag im sendmail-Wrapper und der Konfigurationsparameter bounce_template_file :

/usr/sbin/sendmail -N failure 

Aber aus irgendeinem Grund wird eine regelmäßige Nachricht generiert. Nicht einmal mit der Bounce-Vorlage.

Hier das Szenario: Postfix hat eine Nachricht von außen angenommen und per SMTP an einen externen Filter weitergeleitet. Aufgrund der Politik entschieden wir uns, die Nachricht abzulehnen. Jetzt müssen wir einen NDR erstellen. Wie mache ich das mit Postfix?

Vielen Dank!

0

1 Antwort auf die Frage

1
davidgo

Sie erstellen einfach eine neue E-Mail und senden sie an den Absender.

Eine Möglichkeit, dies zu tun, wäre die Umleitung in ein Skript - beispielsweise mithilfe der Transporttabelle zum Abrufen der E-Mail-Nachricht und der Master-Tabelle, um die Ausgabe an ein Skript zu übergeben, um die Bounce-Antwort zu generieren.

Der Eintrag in der Master-Tabelle könnte ungefähr so ​​aussehen

bouncer unix - n n - - pipe flags=Rq user=nobody argv=/path/to/bounce.script $ $ 

Anstatt die Nachricht an REJECT zu senden, senden Sie sie an "Bouncer". Nicht sicher, wie Sie es ablehnen, also nicht sicher, wie Sie es sagen sollen, stattdessen zum Türsteher zu gehen. Ich denke, Sie könnten dafür die Transporttabelle oder die header_checks-Tabelle mit dem FILTER-Ziel verwenden.

Ein einfaches PHP-Skript zum Zurücksenden der Bounce-Nachricht (ungeprüft) sieht in etwa wie folgt aus:

#! /usr/bin/php <?php # Make sure phpmailer is installed ! (apt-get install phpmailer # or download from source and adjust path) include phpmailer/class.phpmailer.php  $from=$argv[1]; $to=$argv[2];  $tz=date_default_timezone_get(); date_default_timezone_set($tz);  $message="Bounce Message text here"; $msg=new PHPMailer(); $msg->From=$to; $msg->FromName=$from; $msg->Subject="Bounce Notification Subject Line"; $msg->Body="Bounce Notification Message"; $msg->AddAddresses($from); $msg->send(); ?> 
Vielen Dank Dave, obwohl ich gehofft hatte, ohne Skripte auszukommen. Postfix verfügt bereits über diese Funktion: Vorlagen, richtige Inhalte / Art usw. Trotzdem danke ich Ihnen für Ihren Vorschlag. Sergey Romanovsky vor 8 Jahren 0