GoldZone Web Hosting

Rédigé par Gaëtan Trellu (goldyfruit)

Outils pour utilisateurs

Outils du site


nullmailer

Nullmailer

Nullmailer est un utilitaire qui permet de rediriger les mails envoyés depuis un serveur (Apache ou MySQL par exemple) vers un serveur de messageries de type Postfix, Exim ou autre MTA.

Cette solution vous permet de raccorder rapidement et simplement un serveur à une plate-forme de messagerie.

Installation

Nullmailer est disponible dans les dépôts Debian, cela va donc nous faciliter son installation.

# aptitude install nullmailer

La configuration se fait lors de l'installation du paquet. Debconf vous affiche ceci à l'écran :

Nom du serveur sur lequel est installé Nullmailer

Ce nom doit-être identique à celui présent dans le fichier “/etc/mailname”.

Adresse du serveur de messagerie

Cette fenêtre vous demande l'adresse IP ou DNS du serveur de messagerie.

Adresse email de l'administrateur

Cette option évite que les emails destinés à l'administrateur soit mis en attente dans la “queue” du MTA. Ils seront envoyés tout de suite.
Vous pouvez donc entrer l'adresse suivante : admin@goldzoneweb.info ou laisser le champ vide.

Mise en route

Une fois la configuration terminée normalement le service “nullmailer” se lance automatiquement. Si ce n'est pas le cas :

# /etc/init.d/nullmailer restart

Résultat :

Stopping mail-transfer-agent: nullmailer.
Starting mail-transfer-agent: nullmailer.

Dans le fichier “/var/log/syslog” vous devriez voir ceci apparaître :

Jul 20 11:59:09 backup01 nullmailer[5960]: Rescanning queue.

Complément d'information

Les fichiers de configuration de Nullmailer se trouvent dans le répertoire “/etc/nullmailer/”. Un petit “ls” dans ce répertoire nous montres qu'il existe deux fichiers :

  • remote
  • adminaddr

Dans le fichier “remote” se trouve notre serveur de messagerie. Il faut savoir qu'il est possible d'ajouter plusieurs serveurs de messageries dans ce fichier.

# cat /etc/nullmailer/remote

Résultat :

mail.goldzoneweb.info
mail2.goldzoneweb.info

Dans le fichier “adminaddr” se trouve l'adresse email de notre tendre et cher administrateur système =).

# cat /etc/nullmailer/adminaddr

Résultat :

admin@goldzoneweb.info

Après envoie d'un message vous devriez avoir quelque chose comme cela dans le fichier “/var/log/syslog” :

Jul 20 13:15:05 backup01 nullmailer[6209]: Rescanning queue.
Jul 20 13:15:22 backup01 nullmailer[6209]: Trigger pulled.
Jul 20 13:15:22 backup01 nullmailer[6209]: Rescanning queue.
Jul 20 13:15:22 backup01 nullmailer[6209]: Starting delivery: protocol: smtp host: mail.goldzoneweb.info file: 1279624521.6219
Jul 20 13:15:22 backup01 nullmailer[6220]: smtp: Failed: 554 5.7.1 <bob.leponge@goldzoneweb.info>: Relay access denied
Jul 20 13:15:22 backup01 nullmailer[6209]: Sending failed:  Permanent error in sending the message
Jul 20 13:15:22 backup01 nullmailer[6209]: Starting delivery: protocol: smtp host: mail2.goldzoneweb.info file: 1279624521.6219
Jul 20 13:15:23 backup01 nullmailer[6221]: smtp: Succeeded: 250 2.0.0 Ok: queued as 5A3172B6002
Jul 20 13:15:23 backup01 nullmailer[6209]: Sent file.
Jul 20 13:15:23 backup01 nullmailer[6209]: Delivery complete, 0 message(s) remain.

Astuce

Nullmailer permet de modifier l'adresse de l'émetteur d'un mail.

Exemple d'un envoie de mail sous l'utilisateur système “root” :

# env | mail -s "Environnement de l'utilisateur système root" bob.leponge@goldzoneweb.info

Dans le fichier “/var/log/syslog” on peut voir que le message a bien été envoyé depuis root@goldzoneweb.info.

Jul 20 13:29:17 newton postfix/qmgr[7910]: 6C16CE8B91: from=<root@goldzoneweb.info>, size=803, nrcpt=1 (queue active)
Jul 20 13:29:17 newton postfix/smtpd[28481]: disconnect from mail.goldzoneweb.info[000.000.000.000]
Jul 20 13:29:18 newton postfix/smtp[28486]: 6C16CE8B91: to=<bob.leponge@goldzoneweb.info>, relay=mail.goldzoneweb.info[000.000.000.000]:25, delay=0.68, delays=0.01/0.01/0.24/0.42, dsn=2.0.0, status=sent (250 2.0.0 OK 1279625357 x28si7902893wbx.64)

Jusque là rien de bien méchant n'est-ce pas ? Et bien détrompez-vous, cela peut rapidement poser problème si la boîte root@goldzoneweb.info n'existe pas sur le serveur.

Exemple du message d'erreur :

<root@goldzoneweb.info>: Recipient address rejected: User unknown in virtual mailbox table;

Pour résoudre cela il suffit de renseigner le fichier “/etc/environment” dans lequel nous lui indiquons deux nouvelles variables d'environnement.

NULLMAILER_SUSER="robot"
NULLMAILER_SHOST="goldzoneweb.info"

Désormais lorsqu'un message sera envoyé depuis le système (et si rien n'est précisé dans les en-têtes), il aura pour émetteur robot@goldzoneweb.info.

from=<robot@goldzoneweb.info> to=<bob.leponge@goldzoneweb.info> proto=SMTP helo=<goldzoneweb.info>

Il est nécessaire de relancer le service pour que les modifications soient prises en compte.

# /etc/init.d/nullmailer restart
nullmailer.txt · Dernière modification: 2011/01/05 16:05 (modification externe)