{"id":5101,"date":"2017-05-02T12:17:16","date_gmt":"2017-05-02T12:17:16","guid":{"rendered":"https:\/\/blog.hostinger.io\/fr-tutoriels\/?p=5101"},"modified":"2025-04-09T00:03:55","modified_gmt":"2025-04-09T00:03:55","slug":"php-mail","status":"publish","type":"post","link":"\/fr\/tutoriels\/php-mail","title":{"rendered":"Comment envoyer des emails depuis votre serveur web avec la fonction PHP mail() et PHPMailer"},"content":{"rendered":"<p>La plupart des entreprises cr&eacute;ent un compte de courrier &eacute;lectronique professionnel pour renforcer leur cr&eacute;dibilit&eacute; et gagner la confiance de leurs clients. Pour ce faire, vous devez acheter un nom de domaine et configurer votre messagerie professionnelle sur un client de messagerie ou un serveur.<\/p><p>Si vous cr&eacute;ez votre site ou votre application web avec le langage de programmation PHP, vous pouvez envoyer des courriers &eacute;lectroniques directement &agrave; partir de votre serveur web. La fonctionnalit&eacute; de courrier &eacute;lectronique de PHP vous permet de cr&eacute;er des formulaires de courrier personnalis&eacute;s et d&rsquo;envoyer des courriers &eacute;lectroniques textuels de base &agrave; plusieurs destinataires.<\/p><p>Il y a deux fa&ccedil;ons d&rsquo;envoyer des courriers &eacute;lectroniques en PHP : en utilisant la <strong>fonction PHP mail() <\/strong>int&eacute;gr&eacute;e ou une biblioth&egrave;que d&rsquo;envoi de courriers &eacute;lectroniques telle que <strong>PHPMailer<\/strong>.<\/p><p>Dans cet article, nous aborderons les diff&eacute;rences entre PHPMailer et la fonction <strong>mail() <\/strong>et nous vous montrerons comment envoyer des emails avec les deux.<\/p><p class=\"has-text-align-center\"><a href=\"https:\/\/assets.hostinger.com\/content\/FR-Web-Development-Glossary-for-Beginners.pdf\" target=\"_blank\" rel=\"noopener\">Obtenez le glossaire complet du d&eacute;veloppement web<\/a><\/p><p>\n\n\n\n\n\n<div class=\"protip\">\n                    <h2 class=\"featured-snippet title\">Qu'est-ce que PHP mail ?<\/h2>\n                    <p>PHP mail est une fonction qui envoie des emails en utilisant des scripts PHP. La fonction PHP int&eacute;gr&eacute;e peut cibler plusieurs destinataires par envoi d&rsquo;email. Cependant, elle n&rsquo;est pas adapt&eacute;e &agrave; l&rsquo;envoi d&rsquo;emails en masse sans l&rsquo;utilisation d&rsquo;un logiciel externe d&rsquo;envoi d&rsquo;emails en PHP comme PHPMailer.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-phpmailer-vs-fonction-mail-avantages-et-inconvenients\"><strong>PHPMailer vs fonction mail() : avantages et inconv&eacute;nients<\/strong><\/h2><p>PHP mail permet aux administrateurs de sites web bas&eacute;s sur PHP d&rsquo;envoyer des courriers &eacute;lectroniques depuis leur <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/serveur-web\">serveur web<\/a> &agrave; l&rsquo;aide de scripts PHP. Il s&rsquo;agit d&rsquo;une alternative populaire &agrave; l&rsquo;utilisation d&rsquo;un service d&rsquo;h&eacute;bergement de courrier &eacute;lectronique tiers, car la fonction PHP est int&eacute;gr&eacute;e au serveur web.<\/p><p>L&rsquo;envoi d&rsquo;emails en <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/quest-ce-que-php\">PHP<\/a> est possible via la fonction native PHP <strong>mail() <\/strong>ou via un package PHP externe comme PHPMailer. Voici une br&egrave;ve pr&eacute;sentation de chaque m&eacute;thode, avec ses avantages et ses inconv&eacute;nients :<\/p><p><strong>Fonction PHP mail()<\/strong><\/p><p><strong>mail()<\/strong> est une fonction PHP qui utilise des scripts PHP pour envoyer des messages &eacute;lectroniques simples. La fonction mail comprend trois param&egrave;tres obligatoires : <strong>$to<\/strong>, <strong>$subject <\/strong>et <strong>$message<\/strong>. Les param&egrave;tres optionnels &agrave; utiliser sont <strong>$headers <\/strong>et <strong>$parameters<\/strong>. Nous les aborderons plus en d&eacute;tail ult&eacute;rieurement.<\/p><p>Cette fonction PHP int&eacute;gr&eacute;e renvoie une valeur <strong>bool&eacute;enne <\/strong>lors de l&rsquo;ex&eacute;cution &ndash; <strong>VRAI <\/strong>si le serveur re&ccedil;oit avec succ&egrave;s l&rsquo;e-mail &agrave; envoyer ou <strong>FAUX <\/strong>en cas d&rsquo;&eacute;chec.<\/p><p><strong>Avantages <\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Pr&eacute;install&eacute; et pr&ecirc;t &agrave; l&rsquo;emploi, tout ce dont vous avez besoin est d&rsquo;avoir PHP.<\/li>\n\n\n\n<li>Compatible avec les versions ant&eacute;rieures, un <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/changer-version-php\">changement de version PHP<\/a> ne cassera pas le script<\/li>\n\n\n\n<li>Facile &agrave; apprendre.<\/li>\n<\/ul><p><strong>Inconv&eacute;nients <\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Envoi de courriels &agrave; l&rsquo;aide d&rsquo;une m&eacute;thode obsol&egrave;te sans prise en charge int&eacute;gr&eacute;e de l&rsquo;authentification moderne telle que SPF et DKIM.<\/li>\n\n\n\n<li>Il atterrit souvent dans les dossiers de spam ou de courrier ind&eacute;sirable en raison de l&rsquo;absence d&rsquo;authentification et d&rsquo;une mauvaise configuration.<\/li>\n\n\n\n<li>N&eacute;cessite une configuration complexe pour le SMTP, ce qui augmente le risque de d&eacute;clencher des filtres anti-spam.<\/li>\n\n\n\n<li>Impossibilit&eacute; de traiter efficacement de gros volumes de courriels.<\/li>\n\n\n\n<li>Offre des limites d&rsquo;envoi plus basses et moins de fiabilit&eacute; que PHPMailer.<\/li>\n\n\n\n<li>Renvoie <strong>VRAI <\/strong>m&ecirc;me si l&rsquo;e-mail n&rsquo;atteint pas le destinataire.<\/li>\n<\/ul><p>\n\n\n<div><p class=\"important\"><strong>Important !<\/strong> Pour les utilisateurs de&nbsp; Hostinger, gardez &agrave; l&rsquo;esprit que les limites actuelles pour les emails envoy&eacute;s via PHP mail() sont de <strong>100\/jour<\/strong> et <strong>10\/minute<\/strong>. Ces limites seront r&eacute;initialis&eacute;es toutes les 24 heures et seront consomm&eacute;es imm&eacute;diatement s&rsquo;il y a des emails en file d&rsquo;attente.<\/p><\/div>\n\n\n\n<\/p><p><strong>PHPMailer<\/strong><\/p><p>PHPMailer est une biblioth&egrave;que populaire d&rsquo;envoi de courrier qui supporte l&rsquo;envoi de courrier via la <strong>fonction mail() <\/strong>ou un serveur <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/port-smtp\">SMTP<\/a> (Simple Mail Transfer Protocol). Elle donne acc&egrave;s &agrave; un ensemble de fonctions pour l&rsquo;envoi de courrier, simplifiant le processus de configuration manuelle du courrier en PHP.<\/p><p><strong>Avantages <\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Envoi de courriels via une connexion s&eacute;curis&eacute;e avec authentification SPF et DKIM, am&eacute;liorant ainsi la distribution dans la bo&icirc;te de r&eacute;ception.<\/li>\n\n\n\n<li>Simplifie la configuration du courrier &eacute;lectronique et prend en charge des fonctions avanc&eacute;es telles que les corps HTML et les pi&egrave;ces jointes.<\/li>\n\n\n\n<li>Prise en charge du protocole SMTP avec cryptage <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/quest-ce-que-ssl-tls-et-https\">SSL<\/a> et TLS int&eacute;gr&eacute;.<\/li>\n\n\n\n<li>Traite efficacement d&rsquo;importants volumes de courrier &eacute;lectronique en peu de temps.<\/li>\n<\/ul><p><strong>Inconv&eacute;nients <\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>N&eacute;cessite une installation manuelle via SSH.<\/li>\n\n\n\n<li>Co&ucirc;ts suppl&eacute;mentaires sur le plan d&rsquo;h&eacute;bergement <strong>Single <\/strong>de Hostinger en raison de l&rsquo;absence d&rsquo;acc&egrave;s SSH.<\/li>\n\n\n\n<li>La courbe d&rsquo;apprentissage est plus raide que celle de la fonction <strong>mail() <\/strong>int&eacute;gr&eacute;e.<\/li>\n<\/ul><p>\n\n\n<div><p class=\"important\"><strong>Important !<\/strong> Si vous utilisez PHPMailer avec Titan Mail sur Hostinger, la limite d&rsquo;envoi est <strong>1000 emails\/jour<\/strong> et <strong>300 emails\/heure<\/strong>. Pour le  <a href=\"https:\/\/support.hostinger.com\/fr\/articles\/4625828-parametres-et-limites-de-l-email-d-hostinger\" target=\"_blank\" rel=\"noopener\">service de messagerie d&rsquo;Hostinger, la limite est plus &eacute;lev&eacute;e<\/a> &ndash; jusqu&rsquo;&agrave; <strong> 3000 emails\/jour<\/strong> sans limite horaire. V&eacute;rifiez les param&egrave;tres et les limites de chaque service, car ils varient en fonction de votre plan d&rsquo;h&eacute;bergement.<\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-comment-utiliser-phpmailer-pour-envoyer-des-courriels\"><strong>Comment utiliser PHPMailer pour envoyer des courriels<\/strong><\/h2><p>Dans cette section, nous allons couvrir les &eacute;tapes de l&rsquo;envoi de courrier &agrave; l&rsquo;aide de PHPMailer. Nous recommandons d&rsquo;utiliser une connexion SMTP authentifi&eacute;e avec PHPMailer afin d&rsquo;augmenter la d&eacute;livrabilit&eacute; de vos courriels contre les filtres anti-spam.<\/p><h3 class=\"wp-block-heading\" id=\"h-installation-de-phpmailer\"><strong>Installation de PHPMailer<\/strong><\/h3><p>L&rsquo;installation de PHPMailer est assez simple, surtout si l&rsquo;on utilise <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/comment-installer-et-utiliser-composer\">Composer<\/a>.<\/p><p>Notez que les plans d&rsquo;<a href=\"\/fr\/hebergement-web\">h&eacute;bergement web<\/a> Premium et Business d&rsquo;Hostinger ainsi que les options d&rsquo;<a href=\"\/fr\/hebergement-cloud\">h&eacute;bergement cloud<\/a> sont pr&eacute;install&eacute;s avec deux versions de Composer.<\/p><p>Utilisez la commande <strong>composer <\/strong>pour activer la version <strong>1.10 <\/strong>de Composer. Si vous avez besoin de la nouvelle version <strong>2.0 <\/strong>ou si vous utilisez la version <strong>8.0 <\/strong>de PHP ou une version ult&eacute;rieure, ex&eacute;cutez la commande <strong>composer2<\/strong>.<\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41467\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Web-hosting_in-text-banner-1-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p><div><p class=\"important\"><strong>Important !<\/strong> Vous devez installer PHPMailer en utilisant Composer via SSH pour qu&rsquo;il fonctionne correctement. L&rsquo;ajout d&rsquo;un fichier <strong>phpmailer.php<\/strong> avec du code SMTP, comme nous le verrons plus loin dans ce guide, ne fonctionnera pas sans une installation correcte<\/p><\/div>.<\/p><p>Suivez ces &eacute;tapes pour installer PHPMailer manuellement :<\/p><ol class=\"wp-block-list\">\n<li>Depuis votre <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/hpanel-hostinger\">tableau de bord hPanel<\/a>, allez dans <strong>Avanc&eacute; &rarr; Acc&egrave;s SSH <\/strong>et notez l&rsquo;<strong>IP SSH<\/strong>, le <strong>port<\/strong>, le <strong>nom d&rsquo;utilisateur <\/strong>et le <strong>mot de passe <\/strong>sous les <strong>d&eacute;tails SSH<\/strong>.<\/li>\n\n\n\n<li>Ouvrez PuTTY et entrez vos informations SSH dans les champs<strong> Nom d&rsquo;h&ocirc;te (ou adresse IP) <\/strong>et <strong>Port<\/strong>. Cliquez ensuite sur <strong>Ouvrir<\/strong>.<\/li>\n\n\n\n<li>Lorsqu&rsquo;une fen&ecirc;tre de commande appara&icirc;t, saisissez votre nom d&rsquo;utilisateur et votre mot de passe SSH et appuyez sur <strong>Entr&eacute;e<\/strong>. N&rsquo;oubliez pas que PuTTY n&rsquo;affiche pas le mot de passe, ne soyez donc pas surpris s&rsquo;il n&rsquo;appara&icirc;t pas &agrave; l&rsquo;&eacute;cran.<\/li>\n\n\n\n<li>Ex&eacute;cutez la commande suivante pour acc&eacute;der au r&eacute;pertoire <strong>public_html <\/strong>:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd public_html<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Ex&eacute;cutez la commande suivante pour installer PHPMailer :<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">composer2 require phpmailer\/phpmailer<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Attendez un peu que le processus d&rsquo;installation soit termin&eacute;. Voici &agrave; quoi cela devrait ressembler :<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fc93b504ffb\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"733\" height=\"335\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/05\/processus-installation-composer.png\/public\" alt=\"Processus d'installation de Composer termin&eacute;\" class=\"wp-image-39748\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/05\/processus-installation-composer.png\/w=733,fit=scale-down 733w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/05\/processus-installation-composer.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/05\/processus-installation-composer.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 733px) 100vw, 733px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandir\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Lecture sugg&eacute;r&eacute;e<\/h4>\n                    <p>Apprenez plus de <a href=\"\/fr\/tutoriels\/commandes-ssh-de-base-que-vous-devez-connaitre\">commandes SSH<\/a> pour vous aider &agrave; g&eacute;rer votre serveur.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-comprendre-les-composants-de-phpmailer\"><strong>Comprendre les composants de PHPMailer<\/strong><\/h3><p>Pour comprendre le fonctionnement de PHPMailer, passons en revue chaque composant du script ci-dessus.<\/p><ul class=\"wp-block-list\">\n<li><strong>use PHPMailer\\PHPMailer\\PHPMailer<\/strong>; &ndash; importe la classe PHPMailer dans l&rsquo;<a href=\"https:\/\/www.php.net\/manual\/fr\/language.namespaces.php\" target=\"_blank\" rel=\"noopener\">espace de noms global<\/a>.<\/li>\n\n\n\n<li><strong>require &lsquo;..\/vendor\/autoload.php&rsquo;; <\/strong>&ndash; inclut diverses biblioth&egrave;ques dont PHPMailer a besoin.<\/li>\n\n\n\n<li><strong>$mail = new PHPMailer <\/strong>; &ndash; cr&eacute;e un nouvel objet PHPMailer.<\/li>\n\n\n\n<li><strong>$mail-&gt;isSMTP() <\/strong>; &ndash; indique &agrave; la classe PHPMailer d&rsquo;utiliser la configuration SMTP personnalis&eacute;e d&eacute;finie dans le script au lieu du serveur de messagerie local.<\/li>\n\n\n\n<li><strong>$mail-&gt;SMTPDebug = 2 ; <\/strong>&ndash; d&eacute;tecte si quelque chose ne va pas avec la connexion SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;Host = &lsquo;smtp.hostinger.com&rsquo; ; <\/strong>&ndash; c&rsquo;est ici que l&rsquo;adresse du serveur SMTP doit &ecirc;tre sp&eacute;cifi&eacute;e.<\/li>\n\n\n\n<li><strong>$mail-&gt;Port = 587 <\/strong>; &ndash; d&eacute;finissez le port SMTP ici. Nous choisirons le <a href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/port-587\">port SMTP 587<\/a> comme port de soumission de courrier par d&eacute;faut pour tous les types de transmission de donn&eacute;es SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;SMTPAuth = true ; <\/strong>&ndash; active l&rsquo;authentification SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;Username = &lsquo;monmail@monnomdedomaine.tld&rsquo; ; <\/strong>&ndash; sp&eacute;cifiez votre adresse e-mail ici.<\/li>\n\n\n\n<li><strong>$mail-&gt;Password = &lsquo;My$tr0ngPa55w0rd! ; <\/strong>&ndash; entrez votre mot de passe ici.<\/li>\n\n\n\n<li><strong>$mail-&gt;setFrom(&lsquo;monmail@monnomdedomaine.tld&rsquo;, &lsquo;Votre Nom&rsquo;) ; <\/strong>&ndash; c&rsquo;est ici que vous ins&eacute;rez l&rsquo;adresse &eacute;lectronique de l&rsquo;exp&eacute;diteur.<\/li>\n\n\n\n<li><strong>$mail-&gt;addReplyTo(&lsquo;monmail@monnomdedomaine.tld&rsquo;, &lsquo;Votre Nom&rsquo;) ; <\/strong>&ndash; informe le destinataire de l&rsquo;adresse &agrave; laquelle il doit r&eacute;pondre.<\/li>\n\n\n\n<li><strong>$mail-&gt;addAddress(&lsquo;destinataire@domaine.tld&rsquo;, &lsquo;Nom du destinataire&rsquo;) ; <\/strong>&ndash; ins&eacute;rez l&rsquo;adresse du destinataire ici.<\/li>\n\n\n\n<li><strong>$mail-&gt;Subject = &lsquo;V&eacute;rification du fonctionnement de PHPMailer<\/strong><strong style=\"color: initial\">&rsquo;; <\/strong><span style=\"color: initial\">&ndash; ajoutez le sujet de l&rsquo;email ici.<\/span><\/li>\n\n\n\n<li><strong>$mail-&gt;msgHTML(file_get_contents(&lsquo;message.html&rsquo;), __DIR__) ; <\/strong>&ndash; lit un corps de message HTML &agrave; partir d&rsquo;un fichier externe. La fonction <strong>file_get_contents() <\/strong>chargera le contenu de <strong>message.html<\/strong>, un fichier local situ&eacute; dans le r&eacute;pertoire <strong>public_html<\/strong>, et l&rsquo;inclura dans le message.<\/li>\n\n\n\n<li><strong>$mail-&gt;Body = &lsquo;Ceci est un simple corps de texte&rsquo; ; <\/strong>&ndash; contient le corps du message.<\/li>\n\n\n\n<li><strong>\/\/$mail-&gt;addAttachment(&lsquo;attachment.txt&rsquo;) <\/strong>; &ndash; si vous souhaitez inclure des pi&egrave;ces jointes, ajoutez les noms des fichiers et supprimez la double barre oblique de cette d&eacute;claration.<\/li>\n\n\n\n<li><strong>if (!$mail-&gt;send()) { <\/strong>&ndash; d&eacute;finit ce qui se passe lorsque le script est ex&eacute;cut&eacute;.<\/li>\n\n\n\n<li><strong>echo &lsquo;Mailer Error:&rsquo;. $mail-&gt;ErrorInfo ; <\/strong>&ndash; vous verrez un message d&rsquo;erreur et les d&eacute;tails de l&rsquo;erreur si le script ne parvient pas &agrave; envoyer le message.<\/li>\n\n\n\n<li><strong>else { <\/strong>&ndash; prolonge l&rsquo;instruction <strong>if <\/strong>et d&eacute;crit ce qui se passe si la condition pr&eacute;c&eacute;dente n&rsquo;est pas remplie.<\/li>\n\n\n\n<li><strong>echo &lsquo;Le message e-mail a &eacute;t&eacute; envoy&eacute; !&rsquo; ; <\/strong>&ndash; signifie que le processus d&rsquo;envoi du courrier &eacute;lectronique a r&eacute;ussi.<\/li>\n<\/ul><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Conseil de pro<\/h4>\n                    <p>La ligne <strong>SMTPDebug = 2;<\/strong> n'est applicable que lorsque vous testez un script et que vous voulez voir comment il fonctionne. N'oubliez pas de la remplacer par <strong>SMTPDebug = 0;<\/strong> lorsque vous avez termin&eacute; le test afin d'&eacute;viter que les destinataires ne re&ccedil;oivent le rapport de livraison du protocole SMTP.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-utilisation-de-phpmailer-avec-hostinger-smtp\"><strong>Utilisation de PHPMailer avec Hostinger SMTP<\/strong><\/h3><p>Apr&egrave;s avoir install&eacute; PHPMailer, vous pouvez commencer &agrave; envoyer des courriers &eacute;lectroniques en PHP. Cette section vous montrera comment envoyer des courriels via le serveur SMTP Hostinger &agrave; l&rsquo;aide de PHPMailer.<\/p><p>Pour ce faire, suivez les &eacute;tapes ci-dessous :<\/p><ol class=\"wp-block-list\">\n<li>Cr&eacute;ez un compte de messagerie en acc&eacute;dant &agrave; <strong>hPanel<\/strong>, puis allez &agrave; <span><b>Emails &rarr; Comptes email &rarr; <\/b><\/span><strong>Cr&eacute;er une bo&icirc;te mail.<\/strong><\/li>\n\n\n\n<li>Indiquez la nouvelle adresse &eacute;lectronique et d&eacute;finissez un mot de passe. Cliquez ensuite sur <strong>Cr&eacute;er<\/strong>. N&rsquo;oubliez pas ces informations car vous les utiliserez pour envoyer des courriers via PHPMailer.<\/li>\n\n\n\n<li>Sur la m&ecirc;me page, allez dans <strong>Configurer les applications et les appareils &rarr; Applications recommand&eacute;es &rarr; Param&egrave;tres du serveur <\/strong>et notez le <strong>port SMTP <\/strong>et le <strong>nom d&rsquo;h&ocirc;te<\/strong>.<\/li>\n\n\n\n<li>Acc&eacute;dez au tableau de bord <strong>hPanel <\/strong>et naviguez vers <strong>Fichiers &rarr; Gestionnaire de fichiers<\/strong>. Cliquez sur le dossier <strong>public_html <\/strong>et s&eacute;lectionnez <strong>Nouveau fichier<\/strong><span style=\"color: initial\"> pour cr&eacute;er un nouveau fichier. Nommez le fichier <\/span><strong style=\"color: initial\">phpmailer.php <\/strong><span style=\"color: initial\">et cliquez sur <\/span><strong style=\"color: initial\">Cr&eacute;er<\/strong><span style=\"color: initial\">.<\/span><\/li>\n\n\n\n<li>Double-cliquez sur le fichier <strong>phpmailer.php<\/strong>, puis copiez et collez le code ci-dessous apr&egrave;s avoir effectu&eacute; toutes les modifications n&eacute;cessaires. Veillez &agrave; remplacer <strong>monmail@mondomaine.tld <\/strong>et <strong>destinataire@domaine.tld <\/strong>par votre domaine existant et <strong>My$tr0ngPa55w0rd ! <\/strong>par le mot de passe de votre compte de messagerie.<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nrequire 'vendor\/autoload.php';\nuse PHPMailer\\PHPMailer\\PHPMailer;\n$mail = new PHPMailer;\n$mail-&gt;isSMTP();\n$mail-&gt;SMTPDebug = 2;\n$mail-&gt;Host = 'smtp.hostinger.com';\n$mail-&gt;Port = 587;\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'monmail@mondomaine.tld';\n$mail-&gt;Password = 'My$tr0ngPa55w0rd!';\n$mail-&gt;setFrom('monmail@mondomaine.tld', 'Votre Nom');\n$mail-&gt;addReplyTo('monmail@mondomaine.tld', 'Votre Nom');\n$mail-&gt;addAddress('destinataire@domaine.tld', 'Nom du destinataire');\n$mail-&gt;Subject = 'Checking if PHPMailer works';\n$mail-&gt;msgHTML(file_get_contents('message.html'), __DIR__);\n$mail-&gt;Body = 'V&eacute;rifier que PHPMailer fonctionne';\n\/\/$mail-&gt;addAttachment('attachment.txt');\nif (!$mail-&gt;send()) {\necho 'Mailer Error:'. $mail-&gt;ErrorInfo;\n} else {\necho 'Le message e-mail a &eacute;t&eacute; envoy&eacute;.';\n}\n?&gt;<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Apr&egrave;s avoir modifi&eacute; le code, cliquez sur <strong>Enregistrer et fermer<\/strong>. Pour ex&eacute;cuter le script, entrez <strong>votredomaine.tld\/phpmailer.php <\/strong>dans votre navigateur web.<\/li>\n<\/ol><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Configuration de Titan SMTP<\/h4>\n                    <p>Si vous utilisez Titan Mail, connectez-vous via le port <strong>465<\/strong> (SSL) ou <strong>587<\/strong> (STARTTLS). Visitez <strong>Emails &rarr; Configurer l'application de bureau<\/strong> pour voir les <a href=\"https:\/\/support.hostinger.com\/fr\/articles\/5966022-comment-obtenir-les-details-de-configuration-d-un-compte-email-pour-email-titan\" target=\"_blank\" rel=\"noopener\">d&eacute;tails de configuration de votre compte email<\/a>. Vous pouvez &eacute;galement consulter le <a href=\"https:\/\/support.titan.email\/hc\/en-us\/articles\/900000215446-Configure-Titan-on-other-apps-using-IMAP-POP\" target=\"_blank\" rel=\"noopener\">tutoriel officiel de Titan<\/a> pour obtenir les param&egrave;tres SMTP, IMAP ou POP corrects.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-creation-d-un-formulaire-de-contact-phpmailer\"><strong>Cr&eacute;ation d&rsquo;un formulaire de contact PHPMailer<\/strong><\/h3><p>Outre l&rsquo;envoi de courrier simple en PHP, PHPMailer permet aux utilisateurs de cr&eacute;er divers formulaires de contact, tels que des enqu&ecirc;tes de satisfaction.<\/p><p>Comme pour les scripts PHP pr&eacute;c&eacute;dents, cr&eacute;ez un nouveau fichier PHP dans le dossier <strong>public_html <\/strong>et nommez-le <strong>formscript.php<\/strong>. Copiez et collez le script ci-dessous dans le nouveau fichier et modifiez les valeurs en cons&eacute;quence :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPMailer\\PHPMailer\\PHPMailer;\n$msg = '';\nif (array_key_exists('email', $_POST)) {\nrequire 'vendor\/autoload.php';\n$mail = new PHPMailer;\n$mail-&gt;isSMTP();\n$mail-&gt;Host = 'smtp.hostinger.com';\n$mail-&gt;Port = 587;\n$mail-&gt;SMTPDebug = 0;\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'monmail@mondomaine.tld';\n$mail-&gt;Password = 'My$tr0ngPa55w0rd!';\n$mail-&gt;setFrom('monmail@mondomaine.tld', 'Mr. Snuffles');\n$mail-&gt;addAddress('destinataire@domaine.tld', 'Nom du destinataire');\nif ($mail-&gt;addReplyTo($_POST['email'], $_POST['name'])) {\n$mail-&gt;Subject = 'PHPMailer contact form';\n$mail-&gt;isHTML(false);\n$mail-&gt;Body = &lt;&lt;&lt;EOT\nEmail: {$_POST['email']}\nName: {$_POST['name']}\nMessage: {$_POST['message']}\nEOT;\nif (!$mail-&gt;send()) {\n$msg = 'Sorry, something went wrong. Please try again later.';\n} else {\n$msg = 'Message sent! Thanks for contacting us.';\n}\n} else {\n$msg = 'Share it with us!';\n}\n}\n?&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n&lt;meta charset=\"UTF-8\"&gt;\n&lt;title&gt;Contact form&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Contact us&lt;\/h1&gt;\n&lt;?php if (!empty($msg)) {\necho \"&lt;h2&gt;$msg&lt;\/h2&gt;\";\n} ?&gt;\n&lt;form method=\"POST\"&gt;\n&lt;label for=\"name\"&gt;Name: &lt;input type=\"text\" name=\"name\" id=\"name\"&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;label for=\"email\"&gt;Email address: &lt;input type=\"email\" name=\"email\" id=\"email\"&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;label for=\"message\"&gt;Message: &lt;textarea name=\"message\" id=\"message\" rows=\"8\" cols=\"20\"&gt;&lt;\/textarea&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;input type=\"submit\" value=\"Send\"&gt;\n&lt;\/form&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Conseil de pro<\/h4>\n                    <p>Prendre l'entr&eacute;e de l'utilisateur dans <strong>$_POST<\/strong> et l'utiliser sans aseptisation n'est pas s&ucirc;r en raison des attaques <strong>cross-site scripting (XSS)<\/strong>. Pour &eacute;viter cela, consultez les <a href=\"https:\/\/www.geeksforgeeks.org\/what-are-the-best-input-sanitizing-functions-in-php\" target=\"_blank\" rel=\"noopener\">meilleures pratiques pour l'assainissement des variables PHP<\/a>.<\/p>\n                <\/div>\n\n\n\n<\/p><p>Enregistrez vos modifications et ex&eacute;cutez le script &agrave; partir de votre navigateur.<\/p><p>Voici &agrave; quoi ressemblera le r&eacute;sultat :<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fc93b50626a\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"726\" height=\"605\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/05\/exemple-formulaire-Contact-Us.png\/public\" alt=\"Processus d'installation de Composer termin&eacute;\" class=\"wp-image-39749\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/05\/exemple-formulaire-Contact-Us.png\/w=726,fit=scale-down 726w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/05\/exemple-formulaire-Contact-Us.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2017\/05\/exemple-formulaire-Contact-Us.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 726px) 100vw, 726px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Agrandir\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Si un visiteur envoie un message via le formulaire, il recevra une confirmation. Le contenu du formulaire sera envoy&eacute; &agrave; l&rsquo;adresse &eacute;lectronique que vous avez indiqu&eacute;e ici :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&amp;gt;addAddress('destinataire@domaine.tld', 'Nom du destinataire');<\/pre><p><div class=\"protip\">\n                    <h4 class=\"title\">Conseil de pro<\/h4>\n                    <p>Si le formulaire de contact de PHPMailer ne fonctionne pas, remplacez la ligne <strong>$mail-&gt;SMTPDebug = 0;<\/strong> par <strong>$mail-&gt;SMTPDebug = 2<\/strong> pour identifier la cause. N'oubliez pas de supprimer la ligne ou de changer le <strong>2<\/strong> en <strong>0<\/strong> apr&egrave;s<\/p>\n                <\/div>.<\/p><p>Visitez le <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\/tree\/master\/examples\" target=\"_blank\" rel=\"noopener\">d&eacute;p&ocirc;t officiel de PHPMailer<\/a> sur GitHub pour d&eacute;couvrir d&rsquo;autres exemples d&rsquo;utilisation de cette biblioth&egrave;que d&rsquo;envoi de courrier.<\/p><p>Si vous utilisez WordPress, vous pouvez rationaliser le processus de cr&eacute;ation de de formulaires en utilisant un plugin de formulaire de contact tel que <strong>Formidable Forms, Contact Form 7<\/strong> ou <strong>WPForms<\/strong>.<\/p><h2 class=\"wp-block-heading\" id=\"h-comment-envoyer-des-courriels-a-l-aide-de-la-fonction-php-mail\"><strong>Comment envoyer des courriels &agrave; l&rsquo;aide de la fonction PHP mail()<\/strong><\/h2><p>Une autre m&eacute;thode pour envoyer des courriels directement depuis PHP est la fonction int&eacute;gr&eacute;e <strong>mail(). <\/strong>Pour utiliser cette fonction, les utilisateurs qui h&eacute;bergent leur application ou leur site PHP sur un serveur local doivent configurer un programme <strong>Sendmail <\/strong>en modifiant le fichier php.ini dans leur dossier d&rsquo;installation PHP.<\/p><p>Si vous utilisez un serveur d&rsquo;h&eacute;bergement, <strong>Sendmail <\/strong>est g&eacute;n&eacute;ralement d&eacute;j&agrave; pr&eacute;configur&eacute;. Toutefois, vous devez vous assurer que votre h&eacute;bergeur vous permet de g&eacute;rer manuellement l&rsquo;option de <strong>service Sendmail.<\/strong><\/p><p>Par d&eacute;faut, le service <strong>Sendmail <\/strong>est d&eacute;j&agrave; activ&eacute;. N&eacute;anmoins, v&eacute;rifiez &agrave; nouveau pour vous en assurer.<\/p><p><div><p class=\"important\"><strong>Important !<\/strong> Titan Mail active la fonction PHP <strong>mail()<\/strong> par d&eacute;faut. Vous ne pouvez donc pas l&rsquo;activer ou la d&eacute;sactiver dans hPanel<\/p><\/div>.<\/p><h3 class=\"wp-block-heading\" id=\"h-comprendre-les-composants-du-courrier-electronique-en-php\"><strong>Comprendre les composants du courrier &eacute;lectronique en PHP<\/strong><\/h3><p>Pour vous aider &agrave; comprendre la fonction PHP <strong>mail()<\/strong>, nous allons passer en revue les composants du script PHP utilis&eacute; dans la section pr&eacute;c&eacute;dente.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );<\/pre><p>Les deux premi&egrave;res lignes ci-dessus activent le rapport d&rsquo;erreur pour vous informer si le script PHP n&rsquo;a pas r&eacute;ussi &agrave; s&rsquo;ex&eacute;cuter.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$from = \"monmail@mondomaine.tld\";<\/pre><p>Cette ligne contient l&rsquo;adresse &eacute;lectronique de l&rsquo;exp&eacute;diteur. La plupart des h&eacute;bergeurs interdisent d&rsquo;ajouter des adresses e-mail al&eacute;atoires &agrave; cet endroit en raison du risque de <a href=\"https:\/\/www.malwarebytes.com\/fr\/spoofing\" target=\"_blank\" rel=\"noopener\">spoofing<\/a>. Par cons&eacute;quent, il est pr&eacute;f&eacute;rable d&rsquo;utiliser une adresse avec votre nom de domaine pour ex&eacute;cuter le script avec succ&egrave;s.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$to = \"destinataire@domaine.tld\";<\/pre><p>L&rsquo;adresse &eacute;lectronique du destinataire est indiqu&eacute;e ici. S&eacute;parez les adresses &eacute;lectroniques par des virgules si vous souhaitez envoyer plusieurs courriels.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$subject = \"Test du mail PHP\";<\/pre><p>Saisissez l&rsquo;objet du courriel ici.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$message = \"Le mail PHP fonctionne correctement\";<\/pre><p>Saisissez ici le corps de votre message &eacute;lectronique.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$headers = \"From :\" . $from ;<\/pre><p>Cette ligne comprend g&eacute;n&eacute;ralement des en-t&ecirc;tes suppl&eacute;mentaires tels que <strong>From<\/strong>, <strong>Reply-To <\/strong>et <strong>Cc<\/strong>. Vous pouvez les s&eacute;parer avec le <a href=\"https:\/\/developer.mozilla.org\/fr\/docs\/Glossary\/CRLF\" target=\"_blank\" rel=\"noopener\">CRLF<\/a>.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">if (mail ($to,$subject,$message,$headers))<\/pre><p>Ce script ex&eacute;cute la fonction <strong>mail() <\/strong>et v&eacute;rifie si elle s&rsquo;est ex&eacute;cut&eacute;e correctement.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"Le message email a &eacute;t&eacute; envoy&eacute;.\";<\/pre><p>Le message ci-dessus appara&icirc;t si la fonction <strong>mail() <\/strong>est ex&eacute;cut&eacute;e avec succ&egrave;s.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"Le message email n'a pas &eacute;t&eacute; envoy&eacute;.\";<\/pre><p>Sinon, vous verrez ce message si la fonction <strong>mail() <\/strong>&eacute;choue.<\/p><p>Bien que les en-t&ecirc;tes suppl&eacute;mentaires soient facultatifs, il est essentiel d&rsquo;inclure l&rsquo;en-t&ecirc;te <strong>From <\/strong>lors de l&rsquo;envoi de courrier. Dans le cas contraire, vous recevrez une notification de ce type :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Warning: mail(): \"sendmail_from\" not set in php.ini or custom \"From:\" header missing.<\/pre><p>Pour plus d&rsquo;informations sur la fonction <strong>Sendmail <\/strong>et ses param&egrave;tres, reportez-vous &agrave; la <a href=\"https:\/\/www.php.net\/manual\/fr\/function.mail.php\" target=\"_blank\" rel=\"noopener\">documentation officielle de PHP<\/a>.<\/p><h3 class=\"wp-block-heading\" id=\"h-creation-d-un-fichier-de-test-pour-php-mail\"><strong>Cr&eacute;ation d&rsquo;un fichier de test pour PHP mail<\/strong><\/h3><p>Apr&egrave;s avoir v&eacute;rifi&eacute; que <strong>Sendmail <\/strong>est actif, cr&eacute;ez un fichier mail PHP dans le r&eacute;pertoire <strong>public_html.<\/strong><\/p><p>Voici comment proc&eacute;der :<\/p><ol class=\"wp-block-list\">\n<li>Depuis <strong>hPanel<\/strong>, naviguez vers <strong>Fichiers <\/strong>&rarr; <strong>Gestionnaire de fichiers <\/strong>pour acc&eacute;der au <strong>gestionnaire de fichiers d&rsquo;Hostinger<\/strong>.<\/li>\n\n\n\n<li>Double-cliquez sur le dossier <strong>public_html <\/strong>et s&eacute;lectionnez l&rsquo;ic&ocirc;ne <strong>Nouveau fichier <\/strong>en haut. Nommez ce nouveau fichier <strong>testmail.php <\/strong>et cliquez sur <strong>Cr&eacute;er<\/strong>.<\/li>\n\n\n\n<li>Double-cliquez sur <strong>testmail.php <\/strong>pour le modifier. Vous pouvez utiliser le code PHP de base ci-dessous, mais modifiez les param&egrave;tres en cons&eacute;quence. Nous d&eacute;crirons les composants du script plus en d&eacute;tail dans la sous-section suivante :<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );\n$from = \"monmail@mondomaine.tld\";\n$to = \"destinataire@domaine.tld\";\n$subject = \"Test du mail PHP\";\n$message = \"Le mail PHP fonctionne parfaitement\";\n$headers = \"From:\" . $from;\nif(mail($to,$subject,$message, $headers)) {\necho \"Le message e-mail a &eacute;t&eacute; envoy&eacute;.\";\n} else {\necho \"Le message e-mail n'a pas pu &ecirc;tre envoy&eacute;.\";\n}\n?&gt;<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Cliquez sur <strong>Enregistrer et fermer <\/strong>une fois que vous avez termin&eacute;.<\/li>\n\n\n\n<li>Envoyez le courrier &eacute;lectronique en acc&eacute;dant &agrave; <strong>votredomaine\/testmail.php <\/strong>&agrave; partir de votre navigateur web. N&rsquo;oubliez pas de remplacer <strong>&laquo;&nbsp;votredomaine&nbsp;&raquo; <\/strong>par le domaine utilis&eacute; lors de la cr&eacute;ation de <strong>testmail.php<\/strong>.<\/li>\n<\/ol><h3 class=\"wp-block-heading\" id=\"h-envoi-d-e-mails-html-avec-php\"><strong>Envoi d&rsquo;e-mails HTML avec PHP<\/strong><\/h3><p>La fonction PHP <strong>mail() <\/strong>permet &eacute;galement d&rsquo;envoyer des messages &eacute;lectroniques au format HTML. Ce format est hautement personnalisable par rapport &agrave; un message en texte simple.<\/p><p>La proc&eacute;dure d&rsquo;envoi d&rsquo;un courrier HTML est la m&ecirc;me, mais vous devez cette fois inclure un message HTML et des en-t&ecirc;tes de param&egrave;tres suppl&eacute;mentaires.<\/p><p>Voici un exemple de script de base pour l&rsquo;envoi d&rsquo;un courrier &eacute;lectronique au format HTML :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );\n$from = \"monmail@mondomaine.tld\";\n$to = \"destinataire@domaine.tld\";\n$subject = \"Test du mail PHP\";\n$message = \"\n&lt;html&gt;\n&lt;head&gt;\n&lt;title&gt;Ceci est un e-mail de test en HTML&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;p&gt;Salut, c'est un e-mail de test. Merci de l'ignorer.&lt;\/p&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n\";\n\/\/ L'en-t&ecirc;te Content-type doit &ecirc;tre d&eacute;fini lors de l'envoi d'un e-mail HTML\n$headers = \"MIME-Version: 1.0\" . \"\\r\\n\";\n$headers .= \"Content-type:text\/html;charset=UTF-8\" . \"\\r\\n\";\n$headers = \"From:\" . $from;\nif(mail($to,$subject,$message, $headers)) {\necho \"Le message a &eacute;t&eacute; envoy&eacute;.\";\n} else {\necho \"Le message n'a pas pu &ecirc;tre envoy&eacute;.\";\n}\n?&gt;<\/pre><h2 class=\"wp-block-heading\" id=\"h-comment-resoudre-les-erreurs-courantes-de-php-mail-et-phpmailer\"><strong>Comment r&eacute;soudre les erreurs courantes de PHP mail et PHPMailer ?<\/strong><\/h2><p>Dans la section suivante, nous allons passer en revue certains des probl&egrave;mes les plus courants lors de l&rsquo;utilisation de la fonction PHP <strong>mail() <\/strong>ou de PHPMailer et comment les r&eacute;soudre.<\/p><h3 class=\"wp-block-heading\" id=\"h-adresse-de-l-expediteur-rejetee-n-appartient-pas-a-l-utilisateur\"><strong>Adresse de l&rsquo;exp&eacute;diteur rejet&eacute;e : n&rsquo;appartient pas &agrave; l&rsquo;utilisateur<\/strong><\/h3><p>Cette erreur signifie que le serveur n&rsquo;a pas pu authentifier l&rsquo;exp&eacute;diteur &agrave; l&rsquo;aide des informations fournies. Pour r&eacute;soudre ce probl&egrave;me, v&eacute;rifiez l&rsquo;adresse &eacute;lectronique que vous avez utilis&eacute;e pour envoyer le message et assurez-vous qu&rsquo;elle correspond &agrave; une adresse existante.<\/p><p>Assurez-vous &eacute;galement que votre <strong>Sender Policy Framework (SPF) <\/strong>est activ&eacute;. Si vous utilisez Hostinger, v&eacute;rifiez votre enregistrement SPF en allant sur <strong>hPanel <\/strong>et en naviguant vers <strong>Emails<\/strong> &rarr; <strong>Comptes email<\/strong>&rarr; <strong>&nbsp;Param&egrave;tres DNS<\/strong><span style=\"font-size: revert;color: initial\"> &rarr; <\/span><strong style=\"font-size: revert;color: initial\">G&eacute;rer la distribution des e-mails<\/strong><span style=\"color: initial;font-size: revert\">.<\/span><\/p><p>Si l&rsquo;enregistrement SPF est activ&eacute;, il sera indiqu&eacute; comme <strong>actif.<\/strong><\/p><h3 class=\"wp-block-heading\" id=\"h-gmail-n-a-pas-pu-verifier-que-domaine-tld-a-envoye-ce-message\"><strong>Gmail n&rsquo;a pas pu v&eacute;rifier que domaine.tld a envoy&eacute; ce message<\/strong><\/h3><p>Si cet avertissement appara&icirc;t lors du test d&rsquo;un script de courrier &eacute;lectronique en PHP, la cause peut &ecirc;tre l&rsquo;une des suivantes :<\/p><ul class=\"wp-block-list\">\n<li><strong>Il n&rsquo;y a pas d&rsquo;enregistrement SPF dans la zone DNS du domaine <\/strong>&ndash; si l&rsquo;enregistrement est manquant ou si vous utilisez des serveurs de noms externes, ajoutez manuellement un nouvel enregistrement SPF TXT via hPanel ou cPanel.<\/li>\n\n\n\n<li><strong>Vous avez utilis&eacute; des d&eacute;tails d&rsquo;authentification SMTP invalides <\/strong>&ndash; assurez-vous d&rsquo;utiliser une adresse e-mail existante qui vous appartient.<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-le-courrier-est-envoye-dans-le-dossier-spam\"><strong>Le courrier est envoy&eacute; dans le dossier spam<\/strong><\/h3><p>Il y a plusieurs raisons pour lesquelles le courrier PHP peut d&eacute;clencher des filtres anti-spam. Les causes les plus courantes sont les suivantes :<\/p><ul class=\"wp-block-list\">\n<li><strong>Objet trompeur ou de type spam <\/strong>&ndash; cela se produit g&eacute;n&eacute;ralement lorsque l&rsquo;on utilise des termes tels que &laquo;&nbsp;test&nbsp;&raquo; ou &laquo;&nbsp;urgent&nbsp;&raquo;. Veillez &agrave; d&eacute;finir clairement votre intention dans la ligne <strong>Objet.<\/strong><\/li>\n\n\n\n<li><strong>Adresse d&rsquo;exp&eacute;diteur incorrecte <\/strong>&ndash; l&rsquo;ajout d&rsquo;une adresse erron&eacute;e peut d&eacute;clencher des mesures de s&eacute;curit&eacute; destin&eacute;es &agrave; filtrer votre courrier &eacute;lectronique afin d&rsquo;&eacute;viter les usurpations d&rsquo;identit&eacute; et les escroqueries.<\/li>\n\n\n\n<li><strong>Utilisation de mots d&eacute;clencheurs de spam <\/strong>&ndash; supprimez de votre message les mots spammy tels que &laquo;&nbsp;une offre formidable&nbsp;&raquo; et &laquo;&nbsp;ceci n&rsquo;est pas du spam&nbsp;&raquo; afin d&rsquo;accro&icirc;tre la cr&eacute;dibilit&eacute; de votre e-mail.<\/li>\n\n\n\n<li><strong>Votre liste de diffusion ne comporte pas de lien de d&eacute;sabonnement <\/strong>&ndash; veillez &agrave; inclure un bouton de d&eacute;sabonnement pour &eacute;viter ce probl&egrave;me et renforcer la confiance des lecteurs.<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-impossible-de-se-connecter-a-l-hote-smtp\"><strong>Impossible de se connecter &agrave; l&rsquo;h&ocirc;te SMTP<\/strong><\/h3><p>Les nouvelles versions de PHP ont g&eacute;n&eacute;ralement un comportement SSL plus strict. Si la fonction PHP <strong>mail() <\/strong>ne s&rsquo;ex&eacute;cute pas apr&egrave;s la mise &agrave; jour de votre PHP vers la derni&egrave;re version, cela peut en &ecirc;tre la cause.<\/p><p>L&rsquo;utilisation de PHPMailer avec certains h&eacute;bergeurs d&eacute;clenche &eacute;galement cette erreur de code.<\/p><p>Par exemple, selon le <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\/wiki\/Troubleshooting#php-56-certificate-verification-failure\" target=\"_blank\" rel=\"noopener\">wiki PHPMailer<\/a>, GoDaddy bloque les connexions SMTP sortantes via les ports <strong>25<\/strong>, <strong>465 <\/strong>et <strong>587 <\/strong>vers des serveurs tiers tels que Gmail et Hotmail, &agrave; l&rsquo;exception de ses propres serveurs. En outre, il ne prend pas en charge l&rsquo;int&eacute;gration avec des serveurs SMTP tiers.<\/p><p>Utilisez le script suivant pour r&eacute;soudre cette erreur :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;SMTPOptions = array( \n'ssl' =&gt; array( \n'verify_peer' =&gt; false, \n'verify_peer_name' =&gt; false, \n'allow_self_signed' =&gt; true \n) \n);<\/pre><p>\n\n\n<div><p class=\"important\"><strong>Important !<\/strong> Evitez d&rsquo;impl&eacute;menter ces changements globalement dans <strong>php.ini<\/strong>, car cela permet des connexions non s&eacute;curis&eacute;es, un probl&egrave;me de s&eacute;curit&eacute; que PHP a r&eacute;solu depuis la version <strong>5.6<\/strong>. <\/p><\/div>\n\n\n\n<\/p><p>Comme Hostinger SMTP n&rsquo;a pas ce probl&egrave;me, envisagez de migrer vers notre service de <a href=\"\/fr\/messagerie-professionnelle\">messagerie professionnelle<\/a> pour une meilleure exp&eacute;rience d&rsquo;envoi.<\/p><figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostinger.com\/fr\/messagerie-professionnelle\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Email-hosting_in-text-banner-1-1024x300-1.png\/public\" alt=\"\" class=\"wp-image-41449\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Email-hosting_in-text-banner-1-1024x300-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Email-hosting_in-text-banner-1-1024x300-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Email-hosting_in-text-banner-1-1024x300-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/46\/2022\/12\/FR-Email-hosting_in-text-banner-1-1024x300-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusion\"><strong>Conclusion<\/strong><\/h2><p>Vous pouvez envoyer des courriels avec PHP en utilisant la <strong>fonction mail() <\/strong>ou une biblioth&egrave;que d&rsquo;envoi de courriels comme PHPMailer. La premi&egrave;re est adapt&eacute;e &agrave; l&rsquo;envoi de petits volumes de messages textuels simples, tandis que la seconde est plus adapt&eacute;e &agrave; l&rsquo;envoi d&rsquo;e-mails en masse ou &agrave; la cr&eacute;ation de formulaires de contact.<\/p><p>Vous pouvez exploiter la fonction de messagerie int&eacute;gr&eacute;e de PHP en cr&eacute;ant un nouveau fichier PHP dans le r&eacute;pertoire <strong>public_html <\/strong>et en ex&eacute;cutant le script &agrave; l&rsquo;aide de votre navigateur web.<\/p><p>En revanche, l&rsquo;envoi d&rsquo;e-mails avec PHPMailer n&eacute;cessite l&rsquo;installation de la biblioth&egrave;que de code via Composer, la cr&eacute;ation d&rsquo;un compte e-mail et la configuration des param&egrave;tres SMTP de votre h&eacute;bergement.<\/p><p>Dans ce tutoriel, nous avons abord&eacute; l&rsquo;installation de PHPMailer, la cr&eacute;ation d&rsquo;un script de test et la mise en place d&rsquo;un simple formulaire de contact. Nous avons &eacute;galement abord&eacute; l&rsquo;envoi d&rsquo;e-mails avec la fonction PHP <strong>mail() <\/strong>et la r&eacute;solution des erreurs courantes au cours du processus d&rsquo;envoi d&rsquo;e-mails.<\/p><p>Nous esp&eacute;rons que ce tutoriel vous a &eacute;t&eacute; utile. Si vous avez d&rsquo;autres questions, laissez-les dans la section des commentaires ci-dessous.<\/p><h2 class=\"wp-block-heading\" id=\"h-php-mail-faq\"><strong>PHP<\/strong> Mail &ndash; FAQ <\/h2><div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1744137765989\"><h3 class=\"schema-faq-question\"><strong>Puis-je envoyer des e-mails depuis PHPMailer vers Gmail ou d&rsquo;autres services de messagerie ?<\/strong><\/h3> <p class=\"schema-faq-answer\">Cela d&eacute;pend de votre fournisseur d&rsquo;h&eacute;bergement. Avec GoDaddy, vous ne pouvez pas envoyer de courrier &agrave; des bo&icirc;tes de r&eacute;ception qui utilisent les protocoles d&rsquo;authentification SPF et DKIM comme Gmail, Yahoo et Hotmail. Cependant, ce probl&egrave;me ne persiste pas avec Hostinger. Contactez votre h&eacute;bergeur pour clarifier ses param&egrave;tres SMTP et savoir s&rsquo;il prend en charge PHPMailer avec des serveurs SMTP tiers.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1744137775485\"><h3 class=\"schema-faq-question\"><strong>Comment puis-je valider les adresses e-mail avant d&rsquo;utiliser la fonction PHP mail() ou PHPMailer pour envoyer des e-mails ?<\/strong><\/h3> <p class=\"schema-faq-answer\">Vous pouvez utiliser la <strong>fonction filter_var() <\/strong>et transmettre l&rsquo;adresse &eacute;lectronique au filtre <strong>FILTER_VALIDATE_EMAIL<\/strong>. Ce filtre v&eacute;rifiera la validit&eacute; de l&rsquo;adresse &eacute;lectronique, en s&rsquo;assurant qu&rsquo;elle ne contient pas de caract&egrave;res non pris en charge ou d&rsquo;espaces blancs.<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>La plupart des entreprises cr&eacute;ent un compte de courrier &eacute;lectronique professionnel pour renforcer leur cr&eacute;dibilit&eacute; et gagner la confiance de leurs clients. Pour ce faire, vous devez acheter un nom de domaine et configurer votre messagerie professionnelle sur un client de messagerie ou un serveur. Si vous cr&eacute;ez votre site ou votre application web avec [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/php-mail\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":142,"featured_media":39746,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Comment envoyer des mails avec PHP mail() et PHPMailer","rank_math_description":"Apprenez \u00e0 envoyer des e-mails depuis votre serveur web avec PHP en utilisant la fonction PHP mail() int\u00e9gr\u00e9e et PHPMailer dans ce guide.","rank_math_focus_keyword":"php mail","footnotes":""},"categories":[4781],"tags":[],"class_list":["post-5101","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mail"],"hreflangs":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/5101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/users\/142"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=5101"}],"version-history":[{"count":40,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/5101\/revisions"}],"predecessor-version":[{"id":39756,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/5101\/revisions\/39756"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media\/39746"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=5101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=5101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=5101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}