L'utilisation du script /usr/share/webmin/postfix/autoreply.pl nécessite la configuration de postfix avec un domaine virtuel. Chaque boite au lettre pour laquelle on souhaite une réponse automatique doit être associée à un fichier qui contient la configuration et le courrier à envoyer.

Appel d'autoreply.pl

Lors de son appel la commande autoreply.pl reçoit 3 paramètres :

  1. Le chemin et le nom du fichier de réponse automatique personnalisé pour l'adresse de destination.
  2. L'adresse de destination.
  3. Le chemin et le nom du fichier de réponse automatique générique.

Configuration générale

Le fichier de configuration générale est /usr/share/webmin/postfix/config, il est utilisé par d'autres scripts de webmin. Dans autoreply.pl seule la ligne contenant sendmail_path= est utilisée pour indiquer le nom de la commande sendmail utiliser pour envoyer la réponse. À défaut sendmail est recherché, dans cet ordre, dans les répertoires suivants : /usr/sbin, /usr/local/sbin, /opt/csw/lib/sendmail et /usr/lib/sendmail.

Réponse automatique

Le fichier de réponse automatique personnalisé est utilisé et s'il n'existe pas c'est le fichier de réponse automatique générique qui est utilisé. Ce fichier doit contenir :

  • Les lignes d'en-tête sous la forme nom_variable: valeur. Seuls les variables No-Autoreply-Regexp et Autoreply-File peuvent être présentes plusieurs fois. Pour les autres variables c'est la dernière itération qui est conservée.
  • Après la dernière ligne d'en-tête les lignes du corps du message.

Les variables d'en-tête suivantes ont une fonction particulière :

  • No-Autoreply-Regexp : Si l'en-tête du message de réponse correspond à la regexp alors il n'y a pas de réponse automatique.
  • Autoreply-File : Chaque fichier est une pièce jointe au message de réponse.
  • Reply-Tracking : Permet de ne réponse qu'une seule fois à chaque correspondant. La valeur est le nom du fichier contenant la liste des adresses auxquelles une réponse a déjà été envoyée.
  • Reply-Period : Indique le nombre secondes minimum entre 2 réponses pour le même correspondant. Cette variable est obligatoire si Repley-Tracking est utilisée.
  • Autoreply-Start et Autoreply-End : Indique le début et la fin de la période de réponse automatique. Il faut indiquer le chiffre de la date interne Unix.
  • No-Autoreply : Liste des adresses auxquels il ne faut pas réponse. Les adresses sont séparées par des espaces. Chaque adresse peut être sous la forme :
    • nom@domaine : L'adresse complète.
    • *@domaine : Toutes les adresses du domaine.
    • nom@* : Le nom sur tous les domaines.
    • *@*domaine : Toutes les adresses de tous les sous-domaines.
    • nom@*domaine : Le nom sur tous les sous-domaines.
  • Charset : Jeu de caractères. Par défaut iso-8859-1 si l'encodage est quoted-printable.
  • From : Adresse de l'expéditeur.
  • Content-Type : Type de contenu. Par défaut text/html si le corps de la réponse contient <body> ou <html>, sinon text/plain.

L'email est encodé quoted-printable s'il contient un caractère au delà du code ascii 127.

L'en-tête comme le corps du message peuvent contenir les variables suivantes qui sont remplacées à partir des données du message d'origine :

  • $SUBJECT : Sujet du message d'origine.
  • $FROM : Expéditeur déclaré dans le from du message d'origine.
  • $TO : Destinataire du message d'origine avec son nom et son adresse email. Le nom est retrouvé dans le to, le cc ou le bcc de l'en-tête du message d'origine. À défaut c'est le 1er to qui est utilisé.
  • $DATE : La date du message d'origine.
  • $BODY : Le corps du message d'origine.

Date interne Unix

Pour obtenir le chiffre de la date interne correspondant à une date il faut utiliser la commande date --date=2013-07-20 "+%s".