Envoyer des mails avec sSMTP

E

1. Introduction

Dans mon billet Envoyer un mail avec PHP, nous avons vu comment utiliser la fonction mail de PHP pour envoyer des mail. Pour ceux qui ont pu tester sur le serveur local, ont pu se rendre compte que la condition sur la variable $_sendMail nous affiche : Une erreur est survenue lors de l’envoi de votre message.

La raison est tout simplement parce que votre serveur de développement n’est pas configurer pour envoyer des mails.

Eurêka !

Nous allons dans ce billet, installer et configuer sSMTP (Simple SMTP) pour corriger ce problème. En effet, sSMTP est un MTA (Mail Transfert Agent) permettant à des Applications d’envoyer des courriels via la commande /usr/sbin/sendmail. Il ne ne fait que rediriger les courriers vers un serveur SMTP externe (Ici nous utiliserons celui de GMAIL). C’est donc un outil très léger et rapide, et qui ne demande que très peu de paramétrage.

sSMTP peut permettre facilement :

  • à CRON, ou encore à la commande at, de publier leurs résultats ;

  • d’envoyer des courriels via le terminal ;

  • à vos applications/site web (Apps/site web avec PHP par exemple, CMS et LMS) en environnement de développement LAMPP d’envoyer des courriels via sendmail (ex : tester les messages envoyés par WordPress…).

2. Installation

L’une des force de sSMTP, c’est son installation très simple. Il suffit de faire ce ommande ci dessous dans votre terminal :

sudo apt-get install ssmtp

3. Configuration

La configuration de sSMTP se fait en deux (02) étapes.

  • Première étape : édition du fichier ssmtp.conf
sudo gedit /etc/ssmtp/ssmtp.conf
#
# Config file for sSMTP sendmail
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=<VOTRE_ADRESSE_MAIL>
AuthUser=<VOTRE_ADRESSE_MAIL>
AuthPass=<VOTRE_MOT_DE_PASSE>

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=<VOTRE_FAI>
UseSTARTTLS=YES

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Dans le fichier qui s’ouvre, vous n’avez remplaçant <VOTRE_ADRESSE_MAIL> et <VOTRE_MOT_DE_PASSE> par respectivement votre adresse mail et mot de passe GMAIL. Ensuite,

  • Deuxième étape : édition du fichier revaliases
sudo gedit /etc/ssmtp/revaliases
# sSMTP aliases
# 
# Format:	local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:<VOTRE_ADRESSE_MAIL>:smtp.gmail.com:587
user:<VOTRE_ADRESSE_MAIL>:smtp.gmail.com:587

Comme precedement, remplacez <VOTRE_ADRESSE_MAIL> par votre adresse gmail puis enregistrez et fermez le fichier. Voila qui est bien qui fini bien et vous pouvez maintenant envoyez vos mail depuis votre environement de développement.

sSMTP est loin d’etre le seul outil vous permettant de tester l’envoie de vos mails pendant votre periode de test. Je vous conseil de voir du cote de MailCatcher et MailTrap.

A propos de l'auteur

François KOBON

Trois mots pour me décrire : Code - Build - Hack. Je réponds au nom de François KOBON. Partisan passionné de technologies/innovations libre et ouverte, d'Algorithme, de Datas, des Mathématiques, tous types de sciences... et surtout d'apprentissage non conventionnel parce je suis auto-didacte. Je suis membre de la communauté Ayiyikoh que vous pouvez retrouver en ligne sur ayiyikoh.org

Ajouter un commentaire

Par François KOBON

François KOBON

Trois mots pour me décrire : Code - Build - Hack. Je réponds au nom de François KOBON. Partisan passionné de technologies/innovations libre et ouverte, d'Algorithme, de Datas, des Mathématiques, tous types de sciences... et surtout d'apprentissage non conventionnel parce je suis auto-didacte. Je suis membre de la communauté Ayiyikoh que vous pouvez retrouver en ligne sur ayiyikoh.org

Suivez-moi