Postfix Autoreply/Out-of-Office Virtual HOWTO

Imbattutomi nell’arduo problema di trovare un modo per configurare un autorisponditore sul server di posta di un cliente che usa account virtuali e non di sistema, ho finalmente risolto l’arcano ricordandomi della mitica funzione “pipe” di Postfix, ecco come fare:

Se avete Postfix configurato su mysql dovrete inanzitutto aggiungere un “transport” nella tabella appropriata del tipo:

Dominio: “autoreply.domain.tld” -> Transport: “autoreply:”

La stessa cosa puo’ essere fatta se usate i file invece del db:

/etc/postfix/transport:
autoreply.domain.tld autoreply:

Infine per ogni account sul quale volete attivare l’autoreply occorrera’ riconfigurarlo a dovere. Se avete il db nella tabella FORWARDINGS (o simili) aggiungete qualcosa come:

Source: <email>@<domain>
Destination: <email>@<domain>, <email>@<domain>@autoreply.domain.tld

Se invece usate i file:

/etc/postfix/virtual:
<email>@<domain> <email>@<domain>, <email>@<domain>@autoreply.domain.tld

Ora non resta che implementare l’autoreply vero e proprio su Postfix, per questo occorrera’ creare un semplice script bash per l’invio della mail “Out of Office” e dire a Postfix di intercettare i forward precedentemente creati:

Create il file contenente il messaggio standard da inoltrare ai mittenti, tipo:

/etc/postfix/autoreply.txt:

———————————————–

Salve,
mi spiace ma non sono in ufficio, al mio ritorno sara' mia premura
rispondere alla sua mail.
Grazie


AutoReply robot at <[email protected]>

———————————————–

Ora create il semplice script per l’invio della mail:

/usr/local/bin/autoreply:

———————————————–

#!/bin/bash
mail -s”Out of Office” -a”From: <$2>”  $1 < /etc/postfix/autoreply.txt

———————————————–

Non rimane altro che dire a Postfix di usare l’autoreply appena creato:

in /etc/postfix/master.cf aggiungete le 2 seguenti righe:

———————————————–

autoreply       unix    -       n       n       -       -       pipe
flags= user=mail argv=/usr/local/bin/autoreply $sender $recipient

———————————————–

Riavviate Postfix e il gioco e’ fatto, fate attenzione che l’utente di sistema “mail” esista oppure cambiatelo nel master.cf (user=mail)

Questa piccola guida e’ stata scritta grazie alla documentazione sui Virtual di Postfix



Leave a Comment