De manière générale, la communication par e-mail entre un utilisateur et un site Web constitue un élément important dans le développement d’un site web. Pour un site professionnel, la possibilité́ d’envoi d’e-mails peut être un critère de sélection déterminant.
On peut avoir besoin de savoir comment implémenter le processus d’envoi de mail, si on veut par exemple, coder un formulaire de contact, ou envoyer un mail automatique de confirmation d’une commande si on à faire à un site e-commerce, ou encore envoyer un mail de validation de l’inscription d’un utilisateur comme dans le cas du développement d’un espace membre. Quelles sont donc les solutions qui sont à notre disposition pour implémenter efficacement le processus d’envoi d’emails ?
PHP a malheureusement une fonctionnalité native vraiment médiocre pour l'envoi d'e-mails. Mais avant de vous montrer l’une des solutions les plus fiables, passons en revue de la fonction native mail() proposée par PHP.
entendu, de vous assurer auprès de votre hébergeur que vous disposez de la fonction mail(). De nombreux hébergeurs, en particulier les gratuits, désactivent la fonction d’envoi d’e-mails pour éviter le Spam et surtout pour ne pas surcharger leurs serveurs.
Certains autres réécrivent la fonction mail() pour en limiter les possibilités et le nombre d’envoie en particulier.
La fonction de base d’envoi d’e-mails se nomme donc mail(). Sa syntaxe est la suivante :
boolean mail($dest, $objet, $texte, [$entete])
Ses paramètres sont les suivants :
Comme vous constatez, la fonction mail() intégrée en PHP est très basique et ne prend pas en charge l'authentification SMTP. De plus, vous ne pouvez pas créer un bon modèle de courrier électronique avec des images et des pièces jointes. Elle peut plutôt être utilisé pour le système de messagerie simple. Si vous jugez qu’elle suffisante, reportez-vous à ce tutoriel Comment envoyer des e-mails en PHP .
Mais si vous cherchez à créer des modèles d'e-mails HTML bien conçus, envoyer des pièces jointes et envoyer des e-mails à plusieurs destinataires, je vous recommande d'utiliser l'une des nombreuses bibliothèques d'e-mails externes comme PHPMailer, Rapid Mailer et PEAR.
Dans cet article je vous explique comment utiliser la solution PHPMailer. Vous pouvez aussi tester votre code d’envoi d’email sans risquer de spammer votre boite email en utilisant le site Web Mailtrap , un outil de test en ligne, qui imite le travail d'un vrai serveur SMTP. Il permet de recevoir vos e-mails de test dans des boîtes de réception virtuelles. Mais vous pouvez aussi utiliser et tester PHPMailer si vous travaillez en local avec un serveur en local.
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP(); //Specifier que Mailer utilise SMTP
$mail->Host = 'smtp.gmail.com'; // Specifier le serveur
$mail->SMTPAuth = true; // Pour activer l'authentification
$mail->Username = "VotreAdresseEmail@gmail.com"; // SMTP username
$mail->Password = "motDePasse"; // SMTP password
$mail->SMTPSecure = "tls"; // Activer TLS de cryptage, `ssl` est aussi accépté
$mail->Port = 587; // TCP port de connexion
$mail->setFrom('vodreAdresseEmail@gmail.com', 'skilldeve.com');
$mail->addAddress('AdresseDuDestinataire@gmail.com', 'Formations PHP');
$mail->isHTML(true); // Pour activer l'envoi du mail sous forme HTML
$mail->Subject = 'Ce mail est un test';
$mail->Body = 'Afin de confirmer votre inscription, merci de valider votre adresse email en cliquant sur le lien suivant ';
Comme vous pouvez le constater, la syntaxe est simple. Pour une présentation et un exemple plus détaillé, reportez-vous à ce guide PHPMailer .
Les packages d'envoi de messages électroniques en PHP ne manquent pas, ce qui permet de surmonter les limitations de la fonction mail() de PHP. Compte tenu de la variété des solutions, à vous de choisir celle qui correspond le mieux aux besoins de vos projets.
Si vous avez aimé cet article, aidez-nous à le partager et n’hésitez pas à laisser votre commentaire.
Maitriser HTML et CSS: du débutant à Expert
Si vous souhaitez apprendre le HTML et le CSS, plongez dans l'univers captivant de la conception web avec le livre (ebook) "Maitriser HTML et CSS : du Débutant à Expert" publié sur Amazon. Vous trouverez dans ce livre tout ce que vous avez besoin pour développer vos compétences en HTML et CSS. Ce livre sera votre référence en HTML et CSS. C'est votre ticket pour un voyage extraordinaire où vous découvrirez les fondations du web, devenant ainsi le maître de votre propre espace en ligne. Cliquez sur l'image ci-dessous pour y accéder directement.