Outils pour utilisateurs

Outils du site


langages:php:msmtp

Introduction

Cet article n'est en aucun cas destiné à encourager l'envoi, désiré ou non, massif de mails. Il décrit simplement une démarche permettant l'envoi de mails d'une plate-forme locale, à des fins de test, via des prestataires existants (gmail, hotmail, etc).

Installation

Windows

  1. Liste numérotéeTélécharger msmtp, la version binaire pour windows, disponible sur le site
  2. Créer un répertoire C:\msmtp\
  3. Extraire le fichier msmtp.exe dans le répertoire C:\msmtp\
  4. Créer un fichier de configuration, C:\msmtp\msmtp.conf, que nous remplirons par la suite

Linux et autres Unixoïdes

msmtp est aussi utilisable sur d'autres systèmes et il fait éventuellement partie des paquets que votre système ou distribution propose. À défaut de l'y trouver, vous devrez le compiler à partir de ses sources.

msmtp est, par exemple, présent sur Debian :

aptitude install msmtp

Notes par rapport au paquet Debian :

  • le binaire de msmtp est /usr/bin/msmtp
  • son fichier de configuration est /etc/msmtprc

Configuration de msmtp

Relative à SSL

Soit vous ne contrôlez pas les certificats via tls_certcheck off, c'est ce qui est utilisé ci-bas (pas à raison d'ailleurs), soit vous indiquez un fichier avec les autorités de certifications connues via la directive tls_trust_file. Les systèmes GNU/Linux possèdent généralement de base un tel fichier (/etc/ssl/certs/ca-certificates.crt sous Debian).

Pour utiliser un compte gmail

defaults
tls on
tls_starttls on
tls_certcheck off

account gmail
host smtp.gmail.com
auth on
user john.doe123@gmail.com
password fred123
from john.doe123@gmail.com

account default : gmail

Pour utiliser un compte hotmail

defaults
tls on
tls_starttls on
tls_certcheck off

account hotmail
host smtp.live.com
from john.doe123@hotmail.com
auth on
user john.doe123@hotmail.com
password fred123

account default : hotmail

Configuration de PHP

Éditer le fichier php.ini effectif de votre environnement.

Assurez-vous tout d'abord de bien commenter les lignes SMTP et sendmail_from en leur ajoutant un point-virgule devant si ce n'est pas déjà fait, surtout sous Windows.

Ajoutez une ligne sendmail_path permettant de faire appel à msmtp :

sendmail_path = "C:\msmtp\msmtp.exe --file C:\msmtp\msmtp.conf -t"

Redémarrez Apache si PHP fonctionne comme module pour que ce changement soit pris en compte dès à présent.

Épilogue

langages/php/msmtp.txt · Dernière modification: 08/12/2014 16:28 (modification externe)