{"id":53779,"date":"2026-10-30T13:23:08","date_gmt":"2026-10-30T06:23:08","guid":{"rendered":"\/fr\/tutoriels\/?p=53779"},"modified":"2026-10-30T13:23:11","modified_gmt":"2026-10-30T06:23:11","slug":"comment-utiliser-phpmailer","status":"publish","type":"post","link":"\/fr\/tutoriels\/comment-utiliser-phpmailer\/","title":{"rendered":"Comment envoyer des emails depuis votre serveur web avec PHPMailer"},"content":{"rendered":"<p class=\"wp-block-paragraph\">L&rsquo;email joue un r&ocirc;le essentiel sur les sites web, notamment pour la r&eacute;initialisation des mots de passe et le traitement des demandes des clients. La fonction <strong>mail()<\/strong> de PHP permet d&rsquo;envoyer des messages simples, mais ceux-ci n&rsquo;arrivent pas toujours dans les bo&icirc;tes de r&eacute;ception. Elle ne propose pas non plus certaines fonctionnalit&eacute;s dont les entreprises ont besoin.<\/p><p class=\"wp-block-paragraph\"><strong>PHPMailer<\/strong> rem&eacute;die &agrave; ces probl&egrave;mes gr&acirc;ce &agrave; l&rsquo;authentification SMTP, au chiffrement, &agrave; la mise en forme HTML et &agrave; la prise en charge des pi&egrave;ces jointes. Vos messages b&eacute;n&eacute;ficient ainsi d&rsquo;une pr&eacute;sentation professionnelle et ont davantage de chances de parvenir &agrave; leurs destinataires.<\/p><p class=\"wp-block-paragraph\">Pour tirer pleinement parti de PHPMailer, vous devez savoir comment :<\/p><ul class=\"wp-block-list\">\n<li>Installer la biblioth&egrave;que avec Composer ou manuellement<\/li>\n\n\n\n<li>Configurer les param&egrave;tres SMTP pour assurer un envoi fiable des emails<\/li>\n\n\n\n<li>Utiliser les principaux composants de PHPMailer, comme <strong>setFrom()<\/strong>, <strong>addAddress()<\/strong> et <strong>Body<\/strong><\/li>\n\n\n\n<li>Cr&eacute;er un formulaire de contact fonctionnel avec validation des donn&eacute;es<\/li>\n\n\n\n<li>Connecter PHPMailer &agrave; Gmail et &agrave; d&rsquo;autres fournisseurs<\/li>\n\n\n\n<li>R&eacute;soudre les erreurs courantes, notamment les &eacute;checs de connexion SMTP et les probl&egrave;mes d&rsquo;authentification DNS<\/li>\n<\/ul><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-quest-ce-que-phpmailer\">Qu&rsquo;est-ce que PHPMailer ?<\/h2><p class=\"wp-block-paragraph\">PHPMailer est une biblioth&egrave;que <a data-click-id=\"hgr-post-content-link-php\" href=\"\/fr\/tutoriels\/quest-ce-que-php\/\">PHP<\/a> qui permet d&rsquo;envoyer facilement des emails directement depuis <a data-click-id=\"hgr-post-content-link-votre-serveur-web\" href=\"\/fr\/tutoriels\/serveur-web\/\">votre serveur web<\/a>. Contrairement &agrave; la fonction native mail() de PHP, elle propose des fonctionnalit&eacute;s avanc&eacute;es telles que :<\/p><ul class=\"wp-block-list\">\n<li>L&rsquo;authentification <a data-click-id=\"hgr-post-content-link-smtp\" href=\"\/fr\/tutoriels\/port-smtp\/\">SMTP<\/a> et le chiffrement (<a data-click-id=\"hgr-post-content-link-ssl\" href=\"\/fr\/tutoriels\/quest-ce-que-ssl-tls-et-https\/\">SSL<\/a> ou TLS)<\/li>\n\n\n\n<li>Les emails au format HTML et leurs versions alternatives en texte brut<\/li>\n\n\n\n<li>Les pi&egrave;ces jointes et les images int&eacute;gr&eacute;es<\/li>\n\n\n\n<li>Les en-t&ecirc;tes personnalis&eacute;s et les adresses de r&eacute;ponse<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Gr&acirc;ce &agrave; ces fonctionnalit&eacute;s, PHPMailer est une solution privil&eacute;gi&eacute;e par les d&eacute;veloppeurs qui souhaitent g&eacute;rer les emails de leurs applications de mani&egrave;re s&eacute;curis&eacute;e et professionnelle.<\/p><h3 class=\"wp-block-heading h-t-title-3\">PHPMailer est-il pr&eacute;f&eacute;rable &agrave; la fonction mail() ?<\/h3><p class=\"wp-block-paragraph\">Oui, PHPMailer est pr&eacute;f&eacute;rable &agrave; la <a data-click-id=\"hgr-post-content-link-fonction-mail\" href=\"\/fr\/tutoriels\/php-mail\/\">fonction <strong>mail()<\/strong><\/a> dans la plupart des cas d&rsquo;utilisation. Voici ses principaux avantages :<\/p><ul class=\"wp-block-list\">\n<li><strong>Fiabilit&eacute;<\/strong>. PHPMailer utilise le protocole SMTP, ce qui r&eacute;duit le risque que les emails se retrouvent dans le dossier spam.<\/li>\n\n\n\n<li><strong>S&eacute;curit&eacute;<\/strong>. La biblioth&egrave;que prend en charge des protocoles de s&eacute;curit&eacute; modernes comme TLS.<\/li>\n\n\n\n<li><strong>Flexibilit&eacute;<\/strong>. Elle permet d&rsquo;ajouter des pi&egrave;ces jointes, de mettre en forme les messages en HTML et de d&eacute;finir des en-t&ecirc;tes avanc&eacute;s.<\/li>\n\n\n\n<li><strong>Compatibilit&eacute;<\/strong>. PHPMailer est largement utilis&eacute; et r&eacute;guli&egrave;rement mis &agrave; jour pour rester compatible avec les <a data-click-id=\"hgr-post-content-link-nouvelles-versions-de-php\" href=\"\/fr\/tutoriels\/changer-version-php\/\">nouvelles versions de PHP<\/a>.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Si vous d&eacute;veloppez un projet qui va au-del&agrave; d&rsquo;un script tr&egrave;s simple, PHPMailer offre davantage de contr&ocirc;le et un fonctionnement plus pr&eacute;visible que la fonction <strong>mail()<\/strong>.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-comment-utiliser-phpmailer-pour-envoyer-des-emails\">Comment utiliser PHPMailer pour envoyer des emails<\/h2><p class=\"wp-block-paragraph\">Voici les principales &eacute;tapes pour envoyer des emails avec PHPMailer :<\/p><ol start=\"1\" class=\"wp-block-list\">\n<li><strong>T&eacute;l&eacute;chargez et installez PHPMailer<\/strong> avec <a data-click-id=\"hgr-post-content-link-composer\" href=\"\/fr\/tutoriels\/comment-installer-et-utiliser-composer\/\">Composer<\/a> ou depuis GitHub.<\/li>\n\n\n\n<li><strong>Chargez la biblioth&egrave;que<\/strong> dans votre script PHP &agrave; l&rsquo;aide d&rsquo;un chargeur automatique de classes ou manuellement.<\/li>\n\n\n\n<li><strong>Cr&eacute;ez une nouvelle instance de PHPMailer.<\/strong><\/li>\n\n\n\n<li><strong>Configurez les param&egrave;tres SMTP<\/strong> (serveur, port, nom d&rsquo;utilisateur et mot de passe).<\/li>\n\n\n\n<li><strong>D&eacute;finissez les informations de l&rsquo;email<\/strong>, notamment l&rsquo;exp&eacute;diteur, le destinataire, l&rsquo;objet et le corps du message.<\/li>\n\n\n\n<li><strong>Envoyez l&rsquo;email<\/strong> et g&eacute;rez les &eacute;ventuelles erreurs.<\/li>\n<\/ol><p class=\"wp-block-paragraph\">Voici un exemple simple :<\/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\n\nuse PHPMailer\\PHPMailer\\PHPMailer;\nuse PHPMailer\\PHPMailer\\Exception;\n\nrequire 'vendor\/autoload.php';\n\n$mail = new PHPMailer(true);\n\ntry {\n    \/\/ Configuration SMTP\n    $mail-&gt;isSMTP();\n    $mail-&gt;Host       = 'smtp.example.com';\n    $mail-&gt;SMTPAuth   = true;\n    $mail-&gt;Username   = 'your@email.com';\n    $mail-&gt;Password   = 'password';\n    $mail-&gt;SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;\n    $mail-&gt;Port       = 587;\n\n    \/\/ Param&egrave;tres de l'email\n    $mail-&gt;setFrom('your@email.com', 'Your Name');\n    $mail-&gt;addAddress('recipient@domain.com');\n    $mail-&gt;Subject = 'Test Email';\n    $mail-&gt;Body    = 'This is a test email sent using PHPMailer.';\n\n    $mail-&gt;send();\n    echo 'Message envoy&eacute;';\n} catch (Exception $e) {\n    echo \"Erreur : {$mail-&gt;ErrorInfo}\";\n}<\/pre><h3 class=\"wp-block-heading h-t-title-3\">Installez PHPMailer<\/h3><p class=\"wp-block-paragraph\">Le moyen le plus simple d&rsquo;installer PHPMailer est d&rsquo;utiliser <strong>Composer<\/strong>, le gestionnaire de d&eacute;pendances PHP. Ex&eacute;cutez la commande suivante dans le r&eacute;pertoire racine de votre projet :<\/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=\"\">composer require phpmailer\/phpmailer<\/pre><p class=\"wp-block-paragraph\">Une fois l&rsquo;installation termin&eacute;e, vous trouverez PHPMailer dans le dossier <strong>vendor\/<\/strong> de votre projet, comme le montre l&rsquo;arborescence suivante :<\/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=\"\">\/your-project\n  \/vendor\n    \/phpmailer\n      \/phpmailer<\/pre><p class=\"wp-block-paragraph\">Pour utiliser la biblioth&egrave;que, chargez le fichier de chargement automatique des classes de Composer au d&eacute;but de votre script PHP :<\/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=\"\">require 'vendor\/autoload.php';<\/pre><p class=\"wp-block-paragraph\">Si vous n&rsquo;utilisez pas Composer, vous pouvez &eacute;galement t&eacute;l&eacute;charger PHPMailer depuis GitHub. Placez alors le dossier PHPMailer dans votre projet, puis incluez manuellement les fichiers n&eacute;cessaires :<\/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=\"\">require 'PHPMailer\/src\/PHPMailer.php';\nrequire 'PHPMailer\/src\/SMTP.php';\nrequire 'PHPMailer\/src\/Exception.php';<\/pre><p class=\"wp-block-paragraph\">L&rsquo;utilisation de Composer est vivement recommand&eacute;e aux d&eacute;butants, car cet outil g&egrave;re les d&eacute;pendances et facilite les mises &agrave; jour.<\/p><h3 class=\"wp-block-heading h-t-title-3\">Comprendre les composants de PHPMailer<\/h3><p class=\"wp-block-paragraph\">PHPMailer propose de nombreuses m&eacute;thodes et propri&eacute;t&eacute;s pour cr&eacute;er des emails professionnels. Voici les plus importantes, accompagn&eacute;es de courts exemples que vous pouvez r&eacute;utiliser :<\/p><ul class=\"wp-block-list\">\n<li><strong>setFrom()<\/strong> &ndash; d&eacute;finit l&rsquo;adresse email et le nom de l&rsquo;exp&eacute;diteur.<\/li>\n<\/ul><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;setFrom('no-reply@domain.com', 'Website Name');<\/pre><ul class=\"wp-block-list\">\n<li><strong>addAddress()<\/strong> &ndash; ajoute un ou plusieurs destinataires.<\/li>\n<\/ul><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;addAddress('user@example.com', 'John Doe');\n$mail-&gt;addAddress('admin@example.com'); \/\/ Plusieurs destinataires<\/pre><ul class=\"wp-block-list\">\n<li><strong>addReplyTo()<\/strong> &ndash; d&eacute;finit l&rsquo;adresse email &agrave; laquelle les r&eacute;ponses doivent &ecirc;tre envoy&eacute;es. Cette m&eacute;thode est particuli&egrave;rement utile pour les formulaires de contact.<\/li>\n<\/ul><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;addReplyTo('support@domain.com', 'Support Team');<\/pre><ul class=\"wp-block-list\">\n<li><strong>Subject<\/strong> &ndash; d&eacute;finit l&rsquo;objet de l&rsquo;email.<\/li>\n<\/ul><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;Subject = 'Order Confirmation';<\/pre><ul class=\"wp-block-list\">\n<li><strong>Body<\/strong> &ndash; contient le corps du message, au format HTML ou en texte brut.<\/li>\n<\/ul><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;Body = '&lt;h1&gt;Thank you!&lt;\/h1&gt;&lt;p&gt;Your order has been received.&lt;\/p&gt;';<\/pre><ul class=\"wp-block-list\">\n<li><strong>AltBody<\/strong> &ndash; d&eacute;finit une version alternative en texte brut pour les clients de messagerie qui ne prennent pas en charge le HTML.<\/li>\n<\/ul><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;AltBody = 'Thank you! Your order has been received.';<\/pre><ul class=\"wp-block-list\">\n<li><strong>addAttachment()<\/strong> &ndash; permet de joindre des fichiers &agrave; l&rsquo;email.<\/li>\n<\/ul><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;addAttachment('\/path\/to\/invoice.pdf', 'Invoice.pdf');<\/pre><p class=\"wp-block-paragraph\">Ces m&eacute;thodes et propri&eacute;t&eacute;s vous donnent un contr&ocirc;le total sur la pr&eacute;sentation et le fonctionnement de vos emails, tout en rendant leur envoi plus fiable qu&rsquo;avec la fonction native <strong>mail()<\/strong> de PHP.<\/p><h3 class=\"wp-block-heading h-t-title-3\">Utiliser PHPMailer avec le serveur SMTP d&rsquo;Hostinger<\/h3><p class=\"wp-block-paragraph\">La plupart des h&eacute;bergeurs, dont Hostinger, permettent d&rsquo;envoyer des emails via leurs <strong>serveurs SMTP<\/strong>. Cette m&eacute;thode est recommand&eacute;e, car elle am&eacute;liore la d&eacute;livrabilit&eacute; des emails et r&eacute;duit le risque qu&rsquo;ils soient consid&eacute;r&eacute;s comme du spam.<\/p><p class=\"wp-block-paragraph\">Pour configurer PHPMailer avec le serveur SMTP d&rsquo;Hostinger, vous aurez besoin des informations suivantes :<\/p><ul class=\"wp-block-list\">\n<li><strong>Serveur SMTP<\/strong> : smtp.hostinger.com<\/li>\n\n\n\n<li><strong>Port<\/strong> : 587 (TLS) ou 465 (SSL)<\/li>\n\n\n\n<li><strong>Nom d&rsquo;utilisateur<\/strong> : votre adresse email compl&egrave;te (par exemple, <a data-click-id=\"hgr-post-content-link-yournameyourdomain-com\" href=\"mailto:yourname@yourdomain.com\">yourname@yourdomain.com<\/a>)<\/li>\n\n\n\n<li><strong>Mot de passe<\/strong> : celui de votre compte email<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Voici un exemple de configuration :<\/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;isSMTP();\n$mail-&gt;Host       = 'smtp.hostinger.com';\n$mail-&gt;SMTPAuth   = true;\n$mail-&gt;Username   = 'your@hostinger.com';\n$mail-&gt;Password   = 'password';\n$mail-&gt;SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; \/\/ ou ENCRYPTION_SMTPS pour le port 465\n$mail-&gt;Port       = 587;<\/pre><p class=\"wp-block-paragraph\">&#128273; <strong>Conseils pour les d&eacute;butants<\/strong> :<\/p><ul class=\"wp-block-list\">\n<li>V&eacute;rifiez que vous avez d&eacute;j&agrave; cr&eacute;&eacute; un compte email depuis le <strong>tableau de bord Hostinger &rarr; Emails &rarr; G&eacute;rer &rarr; Cr&eacute;er un nouveau compte<\/strong>.<\/li>\n\n\n\n<li>Le <strong>mot de passe SMTP<\/strong> est celui que vous avez d&eacute;fini lors de la cr&eacute;ation du compte email, et non votre mot de passe de connexion &agrave; Hostinger.<\/li>\n\n\n\n<li>Commencez par tester vos identifiants dans <strong>Webmail<\/strong>. Si vous parvenez &agrave; vous connecter, ils devraient &eacute;galement fonctionner avec PHPMailer.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Une fois la configuration termin&eacute;e, PHPMailer utilisera les serveurs d&rsquo;Hostinger pour envoyer vos emails en toute s&eacute;curit&eacute;.<\/p><h3 class=\"wp-block-heading h-t-title-3\">Cr&eacute;ez un formulaire de contact avec PHPMailer<\/h3><p class=\"wp-block-paragraph\">PHPMailer est souvent utilis&eacute; pour envoyer les messages transmis via des formulaires de contact. Pour mettre en place cette fonctionnalit&eacute;, vous aurez besoin d&rsquo;un formulaire HTML sur votre page et d&rsquo;un script PHP qui s&rsquo;appuie sur PHPMailer pour envoyer le message.<\/p><p class=\"wp-block-paragraph\"><strong>&Eacute;tape 1. Ajoutez un formulaire HTML simple<\/strong><\/p><p class=\"wp-block-paragraph\">Ce formulaire permet de recueillir le nom, l&rsquo;email et le message du visiteur. Enregistrez-le sous le nom index.html ou int&eacute;grez-le directement &agrave; votre page web :<\/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;form method=\"POST\" action=\"\/contact.php\"&gt;\n    &lt;label for=\"name\"&gt;Nom&lt;\/label&gt;\n    &lt;input id=\"name\" name=\"name\" type=\"text\" required&gt;\n\n    &lt;label for=\"email\"&gt;Email&lt;\/label&gt;\n    &lt;input id=\"email\" name=\"email\" type=\"email\" required&gt;\n\n    &lt;label for=\"message\"&gt;Message&lt;\/label&gt;\n    &lt;textarea id=\"message\" name=\"message\" rows=\"6\" required&gt;&lt;\/textarea&gt;\n\n    &lt;button type=\"submit\"&gt;Envoyer&lt;\/button&gt;\n&lt;\/form&gt;<\/pre><p class=\"wp-block-paragraph\"><strong>&Eacute;tape 2. Traitez la requ&ecirc;te POST avec PHPMailer<\/strong><\/p><p class=\"wp-block-paragraph\">Une fois le formulaire pr&ecirc;t, cr&eacute;ez un script PHP (contact.php) pour traiter les donn&eacute;es soumises et envoyer le message avec PHPMailer. Ce script r&eacute;cup&egrave;re les donn&eacute;es du formulaire, les nettoie, puis les transmet &agrave; votre adresse email :<\/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\n\nuse PHPMailer\\PHPMailer\\PHPMailer;\nuse PHPMailer\\PHPMailer\\Exception;\n\nrequire 'vendor\/autoload.php';\n\nif ($_SERVER['REQUEST_METHOD'] === 'POST') {\n\n    \/\/ Validation et nettoyage de base des donn&eacute;es\n    $name    = trim($_POST['name'] ?? '');\n    $email   = trim($_POST['email'] ?? '');\n    $message = trim($_POST['message'] ?? '');\n\n    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {\n        exit('Adresse email invalide.');\n    }\n\n    \/\/ &Eacute;chappement des donn&eacute;es utilisateur avant leur insertion dans le HTML\n    $safeName    = htmlspecialchars($name, ENT_QUOTES, 'UTF-8');\n    $safeEmail   = htmlspecialchars($email, ENT_QUOTES, 'UTF-8');\n    $safeMessage = nl2br(htmlspecialchars($message, ENT_QUOTES, 'UTF-8'));\n\n    $mail = new PHPMailer(true);\n\n    try {\n        \/\/ Configuration SMTP\n        $mail-&gt;isSMTP();\n        $mail-&gt;Host       = 'smtp.hostinger.com';\n        $mail-&gt;SMTPAuth   = true;\n        $mail-&gt;Username   = 'your@hostinger.com';\n        $mail-&gt;Password   = 'password';\n        $mail-&gt;SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; \/\/ 587\n        $mail-&gt;Port       = 587;\n\n        \/\/ Contenu de l'email\n        $mail-&gt;setFrom('your@hostinger.com', 'Website Contact');\n        $mail-&gt;addAddress('your@hostinger.com', 'Inbox');\n        $mail-&gt;addReplyTo($email, $name);\n        $mail-&gt;Subject = 'New contact form submission';\n        $mail-&gt;isHTML(true);\n        $mail-&gt;Body    = \"&lt;p&gt;&lt;strong&gt;Nom :&lt;\/strong&gt; {$safeName}&lt;\/p&gt;\n                          &lt;p&gt;&lt;strong&gt;Email :&lt;\/strong&gt; {$safeEmail}&lt;\/p&gt;\n                          &lt;p&gt;&lt;strong&gt;Message :&lt;\/strong&gt;&lt;br&gt;{$safeMessage}&lt;\/p&gt;\";\n\n        $mail-&gt;AltBody = \"Nom : {$name}\\nEmail : {$email}\\nMessage :\\n{$message}\";\n\n        \/\/ Pi&egrave;ce jointe facultative\n        \/\/ if (!empty($_FILES['attachment']['tmp_name'])) {\n        \/\/     $mail-&gt;addAttachment($_FILES['attachment']['tmp_name'], $_FILES['attachment']['name']);\n        \/\/ }\n\n        $mail-&gt;send();\n        echo 'Message envoy&eacute; avec succ&egrave;s.';\n    } catch (Exception $e) {\n        echo 'Erreur : ' . $mail-&gt;ErrorInfo;\n    }\n}<\/pre><p class=\"wp-block-paragraph\"><strong>Conseils utiles :<\/strong><\/p><ul class=\"wp-block-list\">\n<li>Validez les donn&eacute;es saisies c&ocirc;t&eacute; client et c&ocirc;t&eacute; serveur pour limiter le spam et les abus.<\/li>\n\n\n\n<li>Utilisez une adresse email associ&eacute;e &agrave; votre nom de domaine comme adresse d&rsquo;exp&eacute;dition (<strong>From<\/strong>). Avec <strong>addReplyTo()<\/strong>, indiquez l&rsquo;adresse email du visiteur comme adresse de r&eacute;ponse pour que les r&eacute;ponses lui soient envoy&eacute;es.<\/li>\n\n\n\n<li>Envisagez d&rsquo;ajouter un champ &laquo; honeypot &raquo; ou un CAPTCHA pour limiter les envois automatis&eacute;s par des robots.<\/li>\n<\/ul><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-comment-resoudre-les-erreurs-courantes-de-phpmailer\">Comment r&eacute;soudre les erreurs courantes de PHPMailer<\/h2><p class=\"wp-block-paragraph\">PHPMailer fournit des messages d&rsquo;erreur d&eacute;taill&eacute;s. Voici quelques-unes des erreurs les plus courantes et leurs causes possibles.<\/p><h3 class=\"wp-block-heading h-t-title-3\">Could not connect to SMTP host<\/h3><p class=\"wp-block-paragraph\">Cette erreur indique g&eacute;n&eacute;ralement que l&rsquo;adresse du serveur SMTP ou le num&eacute;ro de port est incorrect. Plusieurs causes sont possibles :<\/p><ul class=\"wp-block-list\">\n<li><strong>Nom de serveur incorrect<\/strong>. V&eacute;rifiez les param&egrave;tres SMTP fournis par votre h&eacute;bergeur. Chez Hostinger, par exemple, le serveur est g&eacute;n&eacute;ralement <strong>smtp.hostinger.com<\/strong>.<\/li>\n\n\n\n<li><strong>Port bloqu&eacute;<\/strong>. De nombreux serveurs bloquent le port 25. Utilisez plut&ocirc;t le <a data-click-id=\"hgr-post-content-link-port-587\" href=\"\/fr\/tutoriels\/port-587\/\">port <strong>587<\/strong><\/a> (TLS) ou le port <strong>465<\/strong> (SSL).<\/li>\n\n\n\n<li><strong>Restrictions du pare-feu<\/strong>. Si vous effectuez des tests en local, notamment avec XAMPP ou WAMP, votre fournisseur d&rsquo;acc&egrave;s &agrave; Internet (FAI) ou votre pare-feu peut bloquer les connexions SMTP sortantes.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">&#128073; En cas de doute, demandez &agrave; votre h&eacute;bergeur quels param&egrave;tres SMTP utiliser et v&eacute;rifiez que les ports n&eacute;cessaires sont ouverts sur votre r&eacute;seau.<\/p><h3 class=\"wp-block-heading h-t-title-3\">SMTP connect() failed<\/h3><p class=\"wp-block-paragraph\">Cette erreur peut notamment &ecirc;tre li&eacute;e &agrave; un &eacute;chec de l&rsquo;authentification. Dans ce cas, PHPMailer parvient &agrave; joindre le serveur, mais celui-ci refuse les identifiants fournis. Plusieurs &eacute;l&eacute;ments peuvent &ecirc;tre en cause :<\/p><ul class=\"wp-block-list\">\n<li><strong>Nom d&rsquo;utilisateur incorrect<\/strong>. Utilisez toujours votre adresse email compl&egrave;te comme nom d&rsquo;utilisateur SMTP.<\/li>\n\n\n\n<li><strong>Mot de passe incorrect<\/strong>. Si vous avez r&eacute;cemment chang&eacute; le mot de passe de votre compte email, mettez-le &eacute;galement &agrave; jour dans votre script.<\/li>\n\n\n\n<li><strong>M&eacute;thode de chiffrement inadapt&eacute;e<\/strong>. V&eacute;rifiez que vous utilisez le mode de chiffrement correspondant au port SMTP :\n<ul class=\"wp-block-list\">\n<li>Port <strong>587<\/strong> &rarr; PHPMailer::ENCRYPTION_STARTTLS<\/li>\n\n\n\n<li>Port <strong>465<\/strong> &rarr; PHPMailer::ENCRYPTION_SMTPS<\/li>\n<\/ul>\n<\/li>\n<\/ul><p class=\"wp-block-paragraph\">&#128073; Si le probl&egrave;me persiste, essayez de vous connecter &agrave; votre compte email depuis le webmail pour v&eacute;rifier vos identifiants.<\/p><h3 class=\"wp-block-heading h-t-title-3\">Message rejet&eacute; en raison de SPF\/DKIM\/DMARC<\/h3><p class=\"wp-block-paragraph\">Cette erreur signifie que le serveur de messagerie du destinataire a rejet&eacute; votre message parce que votre nom de domaine ne dispose pas des enregistrements d&rsquo;authentification appropri&eacute;s. Ces enregistrements DNS permettent de v&eacute;rifier que l&rsquo;envoi d&rsquo;emails depuis votre nom de domaine est autoris&eacute; :<\/p><ul class=\"wp-block-list\">\n<li><strong>SPF (Sender Policy Framework)<\/strong>. Indique aux serveurs de messagerie quelles adresses IP ou quels h&ocirc;tes sont autoris&eacute;s &agrave; envoyer des emails pour votre nom de domaine.<\/li>\n\n\n\n<li><strong>DKIM (DomainKeys Identified Mail)<\/strong>. Ajoute une signature num&eacute;rique permettant de v&eacute;rifier que le message n&rsquo;a pas &eacute;t&eacute; modifi&eacute;.<\/li>\n\n\n\n<li><strong>DMARC (Domain-based Message Authentication, Reporting &amp; Conformance)<\/strong>. Indique aux serveurs de messagerie destinataires comment traiter les messages qui &eacute;chouent aux v&eacute;rifications SPF ou DKIM.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">&#128073; Pour r&eacute;soudre ce probl&egrave;me, connectez-vous &agrave; l&rsquo;interface de votre registraire de noms de domaine ou de votre h&eacute;bergeur, puis ajoutez les enregistrements DNS n&eacute;cessaires. La plupart des h&eacute;bergeurs, dont Hostinger, proposent des guides d&eacute;taill&eacute;s pour configurer SPF, DKIM et DMARC.<\/p><p class=\"wp-block-paragraph\">Sans ces enregistrements, vos emails risquent davantage d&rsquo;arriver dans le dossier spam ou d&rsquo;&ecirc;tre rejet&eacute;s.<\/p><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-peut-on-envoyer-des-emails-avec-phpmailer-via-gmail-ou-dautres-services-de-messagerie\">Peut-on envoyer des emails avec PHPMailer via Gmail ou d&rsquo;autres services de messagerie ?<\/h2><p class=\"wp-block-paragraph\">Oui. PHPMailer fonctionne avec Gmail, Outlook, Yahoo et la plupart des autres fournisseurs de messagerie. Il suffit de configurer les param&egrave;tres SMTP et la m&eacute;thode d&rsquo;authentification appropri&eacute;s. Pour Gmail, par exemple, utilisez les param&egrave;tres suivants :<\/p><ul class=\"wp-block-list\">\n<li><strong>Serveur SMTP<\/strong> : smtp.gmail.com<\/li>\n\n\n\n<li><strong>Port<\/strong> : 587 (TLS) ou 465 (SSL)<\/li>\n\n\n\n<li><strong>Nom d&rsquo;utilisateur<\/strong> : votre adresse Gmail compl&egrave;te<\/li>\n\n\n\n<li><strong>Mot de passe<\/strong> : votre <strong>mot de passe d&rsquo;application<\/strong> si vous avez activ&eacute; la validation en deux &eacute;tapes<\/li>\n\n\n\n<li>Dans votre compte Google, acc&eacute;dez &agrave; <strong>S&eacute;curit&eacute; &rarr; Validation en deux &eacute;tapes &rarr; Mots de passe des applications<\/strong> pour cr&eacute;er un mot de passe d&rsquo;application, puis saisissez-le dans $mail-&gt;Password.<\/li>\n<\/ul><p class=\"wp-block-paragraph\"><strong>Exemple<\/strong> :<\/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;isSMTP();\n$mail-&gt;Host       = 'smtp.gmail.com';\n$mail-&gt;SMTPAuth   = true;\n$mail-&gt;Username   = 'yourname@gmail.com';\n$mail-&gt;Password   = 'your-app-password'; \/\/ Pas votre mot de passe habituel\n$mail-&gt;SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;\n$mail-&gt;Port       = 587;<\/pre><p class=\"wp-block-paragraph\">Certains fournisseurs imposent toutefois des limites d&rsquo;envoi. De nombreuses messageries gratuites plafonnent le nombre d&rsquo;emails que vous pouvez envoyer chaque jour. Gmail, par exemple, applique un plafond quotidien relativement bas pour les envois SMTP. Si vous avez besoin d&rsquo;envoyer davantage d&rsquo;emails ou d&rsquo;acc&eacute;l&eacute;rer leur acheminement, envisagez &agrave; l&rsquo;avenir de recourir &agrave; un service d&rsquo;envoi d&rsquo;emails d&eacute;di&eacute;. PHPMailer pouvant communiquer avec n&rsquo;importe quel serveur SMTP, vous pourrez facilement changer de fournisseur par la suite.<\/p><p class=\"wp-block-paragraph\"><strong>Liste de v&eacute;rification g&eacute;n&eacute;rale :<\/strong><\/p><ul class=\"wp-block-list\">\n<li>Utilisez le port et le mode de chiffrement recommand&eacute;s par votre fournisseur.<\/li>\n\n\n\n<li>Authentifiez-vous avec les identifiants appropri&eacute;s.<\/li>\n\n\n\n<li>Renseignez le champ <strong>From<\/strong> avec une adresse email associ&eacute;e &agrave; un nom de domaine que vous contr&ocirc;lez afin d&rsquo;am&eacute;liorer la d&eacute;livrabilit&eacute;.<\/li>\n\n\n\n<li>Configurez les enregistrements <strong>SPF<\/strong>, <strong>DKIM<\/strong> et <strong>DMARC<\/strong> de votre nom de domaine pour renforcer la confiance des serveurs de messagerie qui re&ccedil;oivent vos emails.<\/li>\n<\/ul><h2 class=\"wp-block-heading h-t-title-2\" id=\"h-lemail-reste-t-il-le-pilier-des-services-en-ligne\">L&rsquo;email reste-t-il le pilier des services en ligne ?<\/h2><p class=\"wp-block-paragraph\">Absolument. Malgr&eacute; l&rsquo;apparition de nouveaux outils de communication, l&rsquo;email reste le moyen le plus fiable d&rsquo;envoyer des messages transactionnels, des campagnes marketing et des r&eacute;ponses aux demandes des clients. Pour les entreprises, les solutions de messagerie professionnelle int&eacute;grant des fonctionnalit&eacute;s d&rsquo;automatisation permettent de gagner du temps et de renforcer l&rsquo;engagement des clients.<\/p><p class=\"wp-block-paragraph\">Si vous souhaitez aller au-del&agrave; de l&rsquo;envoi manuel d&rsquo;emails, d&eacute;couvrez <a data-click-id=\"hgr-post-content-link-lautomatisation-du-marketing-par-email\" href=\"https:\/\/www.hostinger.com\/fr\/tutoriels\/automatisation-email-marketing\/\">l&rsquo;automatisation du marketing par email<\/a> pour simplifier la gestion de vos campagnes et vos &eacute;changes avec les clients.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;email joue un r&ocirc;le essentiel sur les sites web, notamment pour la r&eacute;initialisation des mots de passe et le traitement des demandes des clients. La fonction mail() de PHP permet d&rsquo;envoyer des messages simples, mais ceux-ci n&rsquo;arrivent pas toujours dans les bo&icirc;tes de r&eacute;ception. Elle ne propose pas non plus certaines fonctionnalit&eacute;s dont les entreprises [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/fr\/tutoriels\/comment-utiliser-phpmailer\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":190,"featured_media":53778,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Comment utiliser PHPMailer : guide SMTP et exemples PHP","rank_math_description":"Apprenez \u00e0 utiliser PHPMailer pour envoyer des emails en PHP : installation avec Composer, configuration SMTP, formulaire de contact et d\u00e9pannage.","rank_math_focus_keyword":"comment utiliser phpmailer","footnotes":""},"categories":[5840],"tags":[],"class_list":["post-53779","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-send-emails-using-phpmailer\/","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-usar-phpmailer\/","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-kirim-email-dengan-php\/","default":0},{"locale":"it-IT","link":"https:\/\/www.hostinger.com\/it\/tutorial\/come-inviare-email-con-phpmailer\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-send-emails-using-phpmailer\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-send-emails-using-phpmailer\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-send-emails-using-phpmailer\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-send-emails-using-phpmailer\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-send-emails-using-phpmailer\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-send-emails-using-phpmailer\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-send-emails-using-phpmailer\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-usar-phpmailer\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/comment-utiliser-phpmailer","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/53779","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\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/comments?post=53779"}],"version-history":[{"count":8,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/53779\/revisions"}],"predecessor-version":[{"id":53859,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/posts\/53779\/revisions\/53859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media\/53778"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/media?parent=53779"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/categories?post=53779"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/fr\/tutoriels\/wp-json\/wp\/v2\/tags?post=53779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}