postfix: come generare un rimbalzo


0

C'è un modo per generare un rimbalzo a livello di codice? L'unica cosa che ho trovato è il flag "-N" nel wrapper sendmail e nel parametro di configurazione bounce_template_file :

/usr/sbin/sendmail -N failure

Ma per qualche motivo genera un messaggio regolare. Nemmeno usando il modello di rimbalzo.

Ecco lo scenario: postfix ha accettato un messaggio dall'esterno e lo ha inviato a un filtro esterno tramite SMTP. Sulla base della politica abbiamo deciso di rifiutare il messaggio. Ora dobbiamo generare un rapporto di mancato recapito. Come farlo con Postfix?

Grazie!

Risposte:


1

Dovresti semplicemente creare una nuova e-mail e inviarla al mittente.

Un modo per farlo sarebbe deviarlo a uno script, ad esempio utilizzando la tabella di trasporto per catturare l'e-mail e la tabella principale per reindirizzare l'output a uno script per generare la risposta di rimbalzo.

La voce nella tabella principale potrebbe avere un aspetto simile

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

Invece di inviare il messaggio a REJECT, lo invieresti a "buttafuori". Non sei sicuro di come lo stai rifiutando, quindi non sei sicuro di come dirlo per andare al buttafuori. Immagino che potresti usare la tabella di trasporto per questo, o la tabella header_checks con il target FILTER.

Un semplice script PHP per rinviare il messaggio di rimbalzo (non testato) potrebbe apparire come segue:

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

Grazie Dave, anche se speravo di trattare senza script. Postfix ha già questa funzionalità integrata: modelli, giusto contenuto / tipo, ecc. Comunque grazie per il tuo suggerimento.
Sergey Romanovsky,
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.