Navigation

Related Articles

Back to Latest Articles

Configurer Ubuntu pour envoyer des mails PHP à la sauce sendmail sans sendmail !


Olivier
Configurer Ubuntu pour envoyer des mails PHP...

Sur windows la fonction mail() de php est configurée pour fonctionner via SMTP que l’on peut configurer dans le php.ini

Sur les systèmes Linux, ça n’est pas le cas. Php est configuré pour transmettre les mails via un vrai service de transport de mail du style sendmail ou postfix.
Le problème de ces programmes (demon), c’est qu’ils ne sont pas évidents à installer et configurer correctement pour tout les développeurs qui ne sont pas admin système.

Heureusement ESMTP est là pour nous sauver, nous autres simples développeurs.

Esmtp is a send-only sendmail emulator

Pour les anglophobes, ESMTP est un émulateur de sendmail pour l’envoi seulement des mails.
C’est à dire que c’est un programme qui comprend les commandes sendmail, les traduit en requêtes smtp et les transmet à un serveur smtp.

Installation et configuration de ESMTP

sudo apt-get install esmtp

Ou alors, vous le trouverez dans Synaptic.

Aprés quoi un petit coup de

sudo nano /etc/esmtprc

pour aller modifier la configuration et mettre le stmp que l’on veut utiliser (celui de votre provider).

# Config file for ESMTP sendmail
 
# The SMTP host and service (port)
hostname=smtp.orange.fr:25

Dernier petit point à voir, faire un lien symbolique de sendmail vers esmtp pour faire croire à php que sendmail est installé.

sudo ln -s /usr/bin/esmtp /usr/bin/sendmail

Et voila ! Vous pouvez coder des envois de mails, dans des conditions de production, avec la méthode sendmail sans avoir eu à passer des heures à configurer votre serveur de mail 😉

Source : http://esmtp.sourceforge.net/

Show Comments (3)

Comments

  • ammonite

    merci!

    • Article Author
  • Dom

    Super, merci

    en fait pour ma config, en faisant un phpinfo (ou dans le php.ini) le sendmail_path est /usr/sbin/sendmail (sbin au lieu de bin)

    donc mon lien symbolique est :
    sudo ln -s /usr/bin/esmtp /usr/sbin/sendmail

    (si ça peut servir à d’autres)

    • Article Author
  • Gonçalves

    Quand j\’arrive a l\’etape :

    sudo ln -s /usr/bin/esmtp /usr/bin/sendmail

    J\’ai ce message :

    ln: impossible de créer le lien symbolique «/usr/sbin/sendmail»: Le fichier existe

    ET je ne voit pas quoi faire :s

    • Article Author

Recevez nos articles