Pour des raisons de sécurité et d'anti-spam, Ubuntu n'est pas capable d'envoyer des mails vers l'extérieur de lui-même. Par exemple, l'utilisation de sendmail ou depuis un code PHP échouera lamentable avec l'erreur suivante :
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
lolo@fai.com
Mailing to remote domains not supported
Dans ce billet, nous allons donc configurer ce qu'il manque pour que les mails issus de mon serveur soient envoyés vers le serveur mail de mon FAI, Free, puis vers l'extérieur.
Il faut installer un logiciel supplémentaire : les plus connus sont Sendmail et Postfix mais c'est un peu comme utiliser une pelle mécanique pour planter un clou ... il existe des outils plus légers lorsqu'il s'agit uniquement d'envoyer des mails depuis une seule machine vers un seul compte.
Nullmailer est l'un d'eux et s'il est extrêmement simple à configurer, c'est que son unique fonction est de relayer les mails qui lui sont envoyés vers un autre "Mail Transfer Agent" comme celui des FAI.
On lance l'installation en temps que root :
root@bidule:~# apt-get install nullmailer
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
exim4 exim4-base exim4-config exim4-daemon-light
Les NOUVEAUX paquets suivants seront installés :
nullmailer
0 mis à jour, 1 nouvellement installés, 4 à enlever et 1 non mis à jour.
Il est nécessaire de prendre 92,7ko dans les archives.
Après cette opération, 3 564ko d'espace disque seront libérés.
Souhaitez-vous continuer [O/n] ? O
Réception de : 1 http://fr.archive.ubuntu.com karmic/universe nullmailer 1:1.04-1.1 [92,7kB]
92,7ko réceptionnés en 1s (70,3ko/s)
Préconfiguration des paquets...
Une fois le téléchargement effectué, le programme de configuration démarre automatiquement :
┌──────────────────────┤ Configuration de nullmailer ├──────────────────────┐
│ Le nom de courrier du système est le nom complet qualifié de la machine │
│ faisant fonctionner nullmailer. Par défaut, ce sera le nom « me » │
│ (« moi », en anglais). │
│ │
│ Nom de courrier de votre système : │
│ │
│ bidule.chez.moi__________________________________________________________ │
│ │
│ <Ok> <Cancel> │
│ │
└───────────────────────────────────────────────────────────────────────────┘
Il s'agit de l'identifiant de la machine qui enverra les mails ... on peut y mettre n'importe quoi.
Cette valeur est stockée dans le fichier /etc/mailname
┌────┤ Configuration de nullmailer ├─────┐
│ Machines relais : │
│ │
│ smtp.free.fr__________________________ │
│ │
│ <Ok> <Cancel> │
│ │
└────────────────────────────────────────┘
Il s'agit ensuite d'indiquer le serveur de mail du FAI.
Il est stocké dans le fichier /etc/nullmailer/remotes
Et voila, c'est fini.
[...]
Dépaquetage de nullmailer (à partir de .../nullmailer_1%3a1.04-1.1_i386.deb) ...
Traitement des actions différées (« triggers ») pour « man-db »...
Paramétrage de nullmailer (1:1.04-1.1) ...
* Starting mail-transfer-agent: [ OK ]
Histoire de diminuer le SPAM, les FAI ont parfois activé des sécurités qu'il nous faudra contourner.
ATTENTION : il ne faut pas non plus abuser de l'envoie des mails. Ainsi, certains FAI couperont automatiquement le tuyau si le nombre de mails est trop important. Idem si un de vos destinataire se plains.
Chez certains FAI, il faudra explicitement activer les mails sortant. Évidemment, ça dépend du FAIs et on trouvera cette option généralement dans la console d'administration.
Généralement, les FAI vérifient que le nom de l'émetteur est correct, ou du moins que le nom de domaine du host existe ... dans mon cas, avec un domaine en "chez.moi", mes mails étaient rejetés.
La solution est d'ajouter dans le fichier /etc/environment les lignes suivantes :
NULLMAILER_SUSER=toto
NULLMAILER_SHOST=yahoo.com
Ce qui est important, c'est que le nom du HOST soit valide. Je dois avouer ne pas avoir plus approfondi, mais ça marche. Par contre, l'entête des mails est toujours pris en compte ... ce qui fait que ces valeurs ne sont pas forcement assoicées explicitement aux les mails reçus dans les clients de messageries.
C'est extrêmement facile de se faire backlister : il suffit par exemple d'installer un logiciel de monitoring tel que Nagios, de lui demander d'envoyer des mails lorsque la charge CPU est trop haute, d'oublier le tout ... et de lancer des compilations ...
La première chose à faire est d'aller voir dans les logs s'il n'y a pas d'erreur. Le fichier se nome /var/log/mail.log
Oct 9 06:45:59 bidule nullmailer[23847]: smtp: Failed: 421 4.7.0 smtp4-g21.free.fr Error: too many connections from <<votre IP >>
Ici clairement, on a envoyé trop de mails
La réponse est simple : rien !
Normalement, la situation devrait se débloquer d'elle-même après quelques heures, une journée maximum.
On peut voir en temps réel si notre IP est bloquée sur le site de free idoine.
Visitez : Nos sorties Ski et rando |
Copyright Laurent Faillie
2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso. |
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution. |
Visites durant les 7 derniers jours au total. |
Vous pouvez
laissez un commentaire
sur cette page.