Envoyer des mails avec php
Par Nicolas le dimanche 16 septembre 2007, 21h35 - PHP - Lien permanent
Quoi de plus simple que d'envoyer des mails avec php avec la fonction mail ! Les choses se compliquent légèrement si on n'a pas de serveur de mail ! Et c'est peu de le dire. Evidemment on peut se lancer dans l'installation d'un serveur de mail (sendmail ou postfix par exemple) mais ce n'est pas à la portée de monsieur tout le monde si on ne veut pas servir de relais de spam! Une solution simple: nullmailer
Hier en voulant tester le module d'envoi de mail de mon application utilisant symfony, je me suis apperçu que je ne pouvais pas envoyer de mail pour tester ! Ne voulant pas installer un serveur de mail j'ai installé nullmailer:
Après un apt-get install nullmailer, les trois-quarts du boulot étaient faits. L'installeur pose deux questions:
- Nom de courrier de votre système ?
- Machines relais ?
A la première question, j'ai répondu free.fr et à la deuxième j'ai répondu smtp.free.fr smtp.
Le serveur de mail (qui n'en est en fait pas un [1]!) se lance et après ça marche!!!
Il ne reste plus qu'à modifier la configuration de php pour qu'il utilise nullmailer au lieu de chercher en vain sendmail ! J'ai juste modifier le sendmail_path: sendmail_path = /usr/bin/nullmailer-inject -fmoi@free.fr
La modification de la configuration de php ne me plait qu'à moitié et je pense que je vais écrire un wrapper pour ne pas avoir à la modifier.
Notes
[1] Et oui contrairement à ce qu'on pourrait croire nullmailer n'est pas un serveur de mail. Ce n'est qu'un MTA. Il ne fait que transférer les messages à un autre MTA ou à un MDA qui se charge de l'envoyer à destination.
Commentaires
Pourquoi ne pas vouloir installer un serveur de mail ? Ok ca à l'air (très) simple à installer/gérer mais à part ça ?
> Pourquoi ne pas vouloir installer un serveur de mail ? Ok ca à l'air (très) simple à installer/gérer mais à part ça ?
Parce que justement ce n'est pas un serveur de mail et que je n'ai pas besoin d'un serveur de mail. J'ai juste besoin d'envoyer des mails.
Effectivement ca se tient, je testerai à l'occasion (genre quand j'aurai un serveur sur pied :/)