亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Table des matières
Points de base
Comparaison entre les fonctions phpmailer et php mail()
Installation de phpmailer
Envoyez des e-mails à partir du serveur Web local à l'aide de phpmailer
Envoyer des e-mails contenant des pièces jointes
Dépannage
Afficher le message d'erreur de localisation
en utilisant smtp
Récupérer des e-mails à l'aide de POP3
Conclusion
Des questions fréquemment posées sur phpmailer
Maison développement back-end tutoriel php Envoi de courriels dans PHP avec phpmailer

Envoi de courriels dans PHP avec phpmailer

Feb 08, 2025 am 10:37 AM

phpmailer: un outil puissant pour l'envoi de PHP Mail

PHPMailer est une bibliothèque de livraison de courrier PHP open source populaire. Cet article expliquera pourquoi phpmailer est meilleur que les fonctions mail() intégrées de PHP et fournissent des exemples de code.

Sending Emails in PHP with PHPMailer

Points de base

  • phpmailer est une bibliothèque de livraison de courrier PHP open source populaire qui offre plus de fonctionnalités et de flexibilité que les fonctions mail() intégrées de PHP, y compris les interfaces orientées objet, le traitement HTML et la pièce jointe plus facile, et l'utilisation de serveurs de messagerie non locaux capacité.
  • PHPMailer peut être installé à l'aide de Composer et est utilisé par des systèmes de gestion de contenu PHP populaires tels que WordPress, Drupal et Joomla.
  • Cette bibliothèque fournit un puissant mécanisme de gestion des erreurs, capable d'imprimer des messages d'erreur dans plus de 40 langues et intègre la prise en charge du protocole SMTP ainsi que l'authentification SSL et TLS.
  • En plus d'envoyer du courrier, PHPMailer prend également en charge l'ajout de pièces jointes, l'envoi de versions HTML ou de texte brut du courrier et l'utilisation de SMTP pour envoyer le courrier à partir de serveurs non locaux, mais il ne prend pas en charge la récupération du courrier à partir de serveurs de courrier à l'aide du protocole POP3.

Comparaison entre les fonctions phpmailer et php mail()

Dans la plupart des cas, PHPMailer est une alternative aux fonctions PHP intégrées mail(), mais dans de nombreux cas, la flexibilité des fonctions mail() ne suffit pas pour répondre aux besoins.

Tout d'abord, PHPMailer fournit une interface orientée objet, tandis que la fonction mail() n'est pas orientée objet. Les développeurs PHP n'aiment généralement pas créer des cha?nes mail() lors de l'envoi d'e-mails à l'aide de fonctions $headers, car cela nécessite de nombreuses opérations d'échappement. PHPMailer simplifie ce processus. Lors de l'envoi de pièces jointes et du courrier basé sur HTML à l'aide de la fonction mail(), les développeurs doivent également écrire du code complexe (échanges de caractères, encoding et formatage), et PHPMailer le rend facile.

De plus, la fonction mail() nécessite un serveur de messagerie local pour envoyer du courrier, ce qui n'est pas toujours facile à définir. Si l'authentification est disponible, PHPMailer peut utiliser un serveur de messagerie non local (SMTP).

Les autres avantages incluent:

  • Lorsque l'envoi d'un message échoue, il peut imprimer divers messages d'erreur dans plus de 40 langues.
  • Il intègre le support du protocole SMTP ainsi que l'authentification SSL et TLS.
  • Il peut envoyer une autre version en texte brut des messages aux clients non-HTML.
  • Il a une communauté de développeurs très active pour le garder en sécurité et à jour.

phpmailer est également utilisé par des systèmes de gestion de contenu PHP populaires tels que WordPress, Drupal et Joomla.

Installation de phpmailer

phpmailer peut être installé à l'aide du compositeur:

composer require phpmailer/phpmailer

Envoyez des e-mails à partir du serveur Web local à l'aide de phpmailer

Ce qui suit est l'exemple le plus simple de l'envoi de courrier à partir d'un serveur Web local utilisant phpmailer:

composer require phpmailer/phpmailer

Le code et les commentaires dans le fichier PHP doivent expliquer tout ce qui se passe clairement;

Envoyer des e-mails contenant des pièces jointes

Ce qui suit est un exemple de la fa?on d'utiliser PHPMailer pour envoyer le courrier avec des pièces jointes:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require_once "vendor/autoload.php";

// PHPMailer對象
$mail = new PHPMailer(true); // 構(gòu)造函數(shù)中的參數(shù)true啟用異常

// 發(fā)件人郵箱地址和名稱
$mail->From = "from@yourdomain.com";
$mail->FromName = "完整姓名";

// 收件人地址和名稱
$mail->addAddress("recepient1@example.com", "收件人姓名");
$mail->addAddress("recepient1@example.com"); // 收件人姓名是可選的

// 收件人回復(fù)地址
$mail->addReplyTo("reply@yourdomain.com", "回復(fù)");

// 抄送和密送
$mail->addCC("cc@example.com");
$mail->addBCC("bcc@example.com");

// 發(fā)送HTML或純文本郵件
$mail->isHTML(true);

$mail->Subject = "主題文本";
$mail->Body = "<i>HTML格式郵件正文</i>";
$mail->AltBody = "這是郵件內(nèi)容的純文本版本";

try {
    $mail->send();
    echo "郵件已成功發(fā)送";
} catch (Exception $e) {
    echo "郵件錯誤:" . $mail->ErrorInfo;
}
?>

Ici, nous attachons deux fichiers - file.txt (situé dans le même répertoire que le script) et images / profil.png (situé dans le répertoire d'images du répertoire de script).

Pour ajouter des pièces jointes à un courrier, nous appelons simplement la fonction addAttachment de l'objet PHPMailer en passant le chemin de fichier en tant que paramètre. Pour joindre plusieurs fichiers, nous devons l'appeler plusieurs fois.

Dépannage

Dans nos deux exemples, nous avons utilisé la classe Exception de phpmailer pour le débogage, de sorte que toutes les erreurs lancées nous aideront à déboguer les problèmes qui peuvent survenir. Nous avons également ajouté le paramètre true au constructeur PHPMailer pour sortir des exceptions plus descriptives de niveau supérieur.

Selon le système que nous utilisons, la plus grande erreur que nous pouvons voir sera liée à l'exécution de la fonction mail() en arrière-plan:

Erreur de courrier: la fonction de messagerie ne peut pas être instanciée.

Si nous avons besoin d'informations d'erreur plus détaillées, nous pouvons également ajouter ce qui suit à la clause catch:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require_once "vendor/autoload.php";

$mail = new PHPMailer;

$mail->From = "from@yourdomain.com";
$mail->FromName = "完整姓名";

$mail->addAddress("recipient1@example.com", "收件人姓名");

// 提供附件的文件路徑和名稱
$mail->addAttachment("file.txt", "File.txt");
$mail->addAttachment("images/profile.png"); // 文件名是可選的

$mail->isHTML(true);

$mail->Subject = "主題文本";
$mail->Body = "<i>HTML格式郵件正文</i>";
$mail->AltBody = "這是郵件內(nèi)容的純文本版本";

try {
    $mail->send();
    echo "郵件已成功發(fā)送";
} catch (Exception $e) {
    echo "郵件錯誤:" . $mail->ErrorInfo;
}
?>

Habituellement, le problème avec la fonction de messagerie sera lié aux paramètres du serveur de messagerie manquant, auquel cas la fonction error_get_last renverra quelque chose comme ce qui suit:

print_r(error_get_last());

C'est probablement le problème le plus courant que nous ayons, et nous pouvons facilement le résoudre en utilisant SMTP.

Afficher le message d'erreur de localisation

$mail->ErrorInfo Peut renvoyer des messages d'erreur dans 43 langues différentes.

Pour afficher les messages d'erreur dans différentes langues, copiez le répertoire de langue à partir du code source de PHPMailer dans le répertoire du projet.

Par exemple, pour renvoyer un message d'erreur en russe, définissez l'objet PHPMailer sur Russe en utilisant l'appel de méthode suivante:

<code>Array (
    [type] => 2
    [message] => mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
    [file] => OUR_PATH \vendor\phpmailer\phpmailer\src\PHPMailer.php
    [line] => 863
)</code>

Vous pouvez également ajouter vos propres fichiers linguistiques au répertoire linguistique.

en utilisant smtp

Vous pouvez envoyer du courrier à l'aide du serveur de messagerie d'un autre h?te, mais cela nécessite d'abord l'authentification. Par exemple, pour envoyer le courrier du serveur de messagerie de Gmail, vous devez avoir un compte Gmail.

SMTP est un protocole utilisé par le client de messagerie pour envoyer des demandes de messagerie au serveur de messagerie. Une fois que le serveur de messagerie a vérifié le courrier, il est envoyé au serveur de messagerie cible.

Ce qui suit est un exemple d'envoi de courrier de votre domaine à partir de votre serveur de messagerie Gmail. Vous n'avez pas besoin d'un serveur local pour exécuter le code. Nous utiliserons le protocole SMTP:

composer require phpmailer/phpmailer

gmail nécessite un chiffrement TLS via SMTP, nous le définissons donc en conséquence. Avant d'envoyer SMTP, vous devez découvrir le nom d'h?te, le numéro de port, si le type de cryptage est requis et si l'authentification est requise, le nom d'utilisateur et le mot de passe sont également requis. Notez que l'activation de l'authentification à deux facteurs sur Gmail ne vous permettra pas d'utiliser son SMTP avec votre nom d'utilisateur / mot de passe. Au lieu de cela, une configuration supplémentaire est requise.

L'un des grands avantages de l'utilisation de SMTP à distance au lieu du courrier local est que si vous utilisez la fonction PHP mail() pour envoyer le courrier et définir le domaine d'adresse de l'expéditeur sur quelque chose de différent du nom de domaine local (nom du serveur), le destinataire du destinataire Le filtre d'attaque du serveur de messagerie le marque comme spam. Par exemple, si vous envoyez un e-mail à name@yahoo.com à partir d'un serveur avec un nom d'h?te example.com en utilisant l'adresse de l'expéditeur name@gmail.com, le serveur de Yahoo le marquera comme spam ou affichera un message à l'utilisateur, en demandant de ne pas Pour faire confiance au message, car la source du message est Exemple.com, mais elle appara?t sur gmail.com. Même si vous avez name@gmail.com, Yahoo n'a aucun moyen de le savoir.

Récupérer des e-mails à l'aide de POP3

phpmailer permet également à la vérification pop-avant-SMTP d'envoyer le courrier. En d'autres termes, vous pouvez vous authentifier à l'aide de POP et envoyer du courrier à l'aide de SMTP. Malheureusement, PHPMailer ne prend pas en charge la récupération du courrier d'un serveur de messagerie à l'aide du protocole POP3. Il est limité à l'envoi de courrier uniquement.

Conclusion

Si vous êtes un développeur PHP, il est presque impossible d'éviter d'envoyer des e-mails par programme. Bien que vous puissiez choisir des services tiers comme Mandrill ou SendGrid, ce n'est parfois pas possible, et plus encore lors de la rédaction de votre propre bibliothèque d'envoi de courriels. C'est là que Phpmailer et ses alternatives (Zend Mail, Swift Mailer, etc.) entrent en jeu.

Vous pouvez en savoir plus sur l'API sur cette bibliothèque dans le wiki du référentiel ou dans la documentation officielle.

êtes-vous troublé par les dépendances de la bibliothèque PHP? Regardez notre enregistrement d'écran pour voir comment Composer peut vous aider à le gérer.

Des questions fréquemment posées sur phpmailer

Qu'est-ce que PHPMailer? PHPMailer est une bibliothèque PHP open source populaire pour envoyer des e-mails à partir des applications PHP. Il fournit un moyen simple et flexible d'envoyer des e-mails via SMTP, mail() ou d'autres méthodes d'envoi d'e-mails.

Comment installer phpmailer? Vous pouvez utiliser Composer pour installer PHPMailer, ou vous pouvez télécharger la bibliothèque directement à partir de GitHub. Des instructions d'installation détaillées peuvent être trouvées dans la documentation PHPMailer.

PHPMailer est-il libre à utiliser? Oui, PHPMailer est open source et publié sous la licence LGPL, ce qui signifie qu'il est disponible gratuitement dans des projets open source et commerciaux.

Quelles sont les exigences du système pour phpmailer? PHPMailer est compatible avec PHP 5.5 et plus tard. Assurez-vous que votre environnement d'hébergement Web prend en charge ces versions PHP.

Comment envoyer des e-mails à l'aide de phpmailer? Vous pouvez utiliser PHPMailer pour envoyer des e-mails en créant une instance de la classe PHPMailer, en définissant les propriétés nécessaires telles que les détails du serveur SMTP et le contenu des e-mails, puis appeler la méthode send().

PHPMailer peut-il gérer les pièces jointes dans les e-mails? Oui, PHPMailer fournit des méthodes pour ajouter des pièces jointes à vos e-mails. Vous pouvez attacher des fichiers à partir d'un serveur ou d'un emplacement distant.

Qu'est-ce que SMTP et pourquoi devrais-je l'utiliser avec phpmailer? SMTP (Simple Mail Transfer Protocol) est une méthode courante pour envoyer des e-mails. L'utilisation de SMTP avec PHPMailer vous permet d'envoyer des e-mails via un serveur de messagerie distant, offrant un meilleur contr?le et une meilleure fiabilité pour la livraison des e-mails.

Puis-je envoyer des e-mails HTML avec phpmailer?

Oui, PHPMailer vous permet d'envoyer des e-mails dans des formats en texte brut et HTML. Vous pouvez définir le type de message et le format en conséquence. Le courrier électronique en texte brut convient aux clients non-HTML.

Puis-je utiliser PHPMailer pour envoyer des e-mails en texte brut à des clients non-HTML?

Oui, PHPMailer vous permet d'envoyer des e-mails en texte brut comme alternative aux e-mails HTML. Vous pouvez définir le type de message et le format en conséquence. Le courrier électronique en texte brut convient aux clients non-HTML.

Puis-je utiliser PHPMailer avec un serveur de messagerie non SMTP tel que SendMail? Oui, PHPMailer prend en charge une variété de méthodes de transfert de messagerie, y compris SMTP, mail(), et d'autres méthodes personnalisées, vous permettant de l'utiliser avec différents types de serveurs de messagerie.

Sending Emails in PHP with PHPMailer

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

php regex pour la force du mot de passe php regex pour la force du mot de passe Jul 03, 2025 am 10:33 AM

Pour déterminer la force du mot de passe, il est nécessaire de combiner un traitement régulier et logique. Les exigences de base comprennent: 1. La longueur n'est pas moins de 8 chiffres; 2. Au moins contenant des lettres minuscules, des lettres majuscules et des chiffres; 3. Des restrictions de caractère spéciales peuvent être ajoutées; En termes d'aspects avancés, la duplication continue des caractères et des séquences incrémentielles / décroissantes doivent être évitées, ce qui nécessite une détection de fonction PHP; Dans le même temps, les listes noires doivent être introduites pour filtrer les mots de passe faibles communs tels que le mot de passe et 123456; Enfin, il est recommandé de combiner la bibliothèque ZXCVBN afin d'améliorer la précision d'évaluation.

Comment combiner deux tableaux PHP uniques? Comment combiner deux tableaux PHP uniques? Jul 02, 2025 pm 05:18 PM

Pour fusionner deux tableaux PHP et conserver des valeurs uniques, il existe deux méthodes principales. 1. Pour les réseaux d'index ou uniquement la déduplication, utilisez Array_merge et Array_Unique Combinaisons: First Merge Array_merge ($ array1, $ array2), puis utilisez Array_Unique () pour les dédupliquer pour enfin obtenir un nouveau tableau contenant toutes les valeurs uniques; 2. Pour les tableaux associatifs et souhaitez conserver les paires de valeurs clés dans le premier tableau, utilisez l'opérateur: $ result = $ array1 $ array2, ce qui garantira que les clés du premier tableau ne seront pas écrasées par le deuxième tableau. Ces deux méthodes s'appliquent à des scénarios différents, selon que le nom de clé est conservé ou que l'accent est mis sur

Comment gérer les téléchargements de fichiers en toute sécurité dans PHP? Comment gérer les téléchargements de fichiers en toute sécurité dans PHP? Jul 08, 2025 am 02:37 AM

Pour gérer en toute sécurité les téléchargements de fichiers PHP, vous devez vérifier la source et taper, contr?ler le nom et le chemin du fichier, définir les restrictions du serveur et traiter les fichiers multimédias deux fois. 1. Vérifiez la source de téléchargement pour empêcher le CSRF via le jeton et détecter le type de mime réel via FINFO_FILE en utilisant le contr?le de liste blanche; 2. Renommez le fichier à une cha?ne aléatoire et déterminez l'extension pour la stocker dans un répertoire non Web en fonction du type de détection; 3. La configuration PHP limite la taille de téléchargement et le répertoire temporaire Nginx / Apache interdit l'accès au répertoire de téléchargement; 4. La bibliothèque GD résait les images pour effacer des données malveillantes potentielles.

Porce de variable PHP expliquée Porce de variable PHP expliquée Jul 17, 2025 am 04:16 AM

Les problèmes et les solutions courants pour la portée de la variable PHP incluent: 1. La variable globale ne peut pas être accessible dans la fonction, et elle doit être transmise en utilisant le mot-clé ou le paramètre global; 2. La variable statique est déclarée avec statique, et elle n'est initialisée qu'une seule fois et la valeur est maintenue entre plusieurs appels; 3. Des variables hyperglobales telles que $ _get et $ _post peuvent être utilisées directement dans n'importe quelle portée, mais vous devez faire attention au filtrage s?r; 4. Les fonctions anonymes doivent introduire des variables de portée parents via le mot clé Utiliser, et lorsque vous modifiez les variables externes, vous devez passer une référence. La ma?trise de ces règles peut aider à éviter les erreurs et à améliorer la stabilité du code.

Commentant le code en php Commentant le code en php Jul 18, 2025 am 04:57 AM

Il existe trois méthodes courantes pour le code de commentaire PHP: 1. Utiliser // ou # pour bloquer une ligne de code, et il est recommandé d'utiliser //; 2. Utiliser /.../ pour envelopper des blocs de code avec plusieurs lignes, qui ne peuvent pas être imbriquées mais peuvent être croisées; 3. Compétences combinées Commentaires tels que l'utilisation / if () {} / pour contr?ler les blocs logiques, ou pour améliorer l'efficacité avec les touches de raccourci de l'éditeur, vous devez prêter attention aux symboles de fermeture et éviter les nidification lorsque vous les utilisez.

Conseils pour écrire des commentaires PHP Conseils pour écrire des commentaires PHP Jul 18, 2025 am 04:51 AM

La clé pour rédiger des commentaires PHP est de clarifier l'objectif et les spécifications. Les commentaires devraient expliquer "pourquoi" plut?t que "ce qui a été fait", en évitant la redondance ou trop de simplicité. 1. Utilisez un format unifié, tel que DocBlock (/ * /) pour les descriptions de classe et de méthode afin d'améliorer la lisibilité et la compatibilité des outils; 2. Soulignez les raisons de la logique, telles que pourquoi les sauts JS doivent être sortis manuellement; 3. Ajoutez une description d'une vue d'ensemble avant le code complexe, décrivez le processus dans les étapes et aidez à comprendre l'idée globale; 4. Utilisez TODO et FIXME Rationalement pour marquer des éléments et des problèmes de taches pour faciliter le suivi et la collaboration ultérieurs. De bonnes annotations peuvent réduire les co?ts de communication et améliorer l'efficacité de la maintenance du code.

Comment les générateurs fonctionnent-ils en PHP? Comment les générateurs fonctionnent-ils en PHP? Jul 11, 2025 am 03:12 AM

AgeneratorInphpisamemory-EfficientwaytoterateOrgedatasetsByyieldingValuesonEatatimeIntedofreturningThemallAtonce.1.GeneratorsUsEtheieldKeywordToproduceValuesondemand, ReducingMemoryUsage.2.TheyAreusefulForHandlingBigloops, ReadingLargeFiles, OR OR.

Comment créer un tableau en php? Comment créer un tableau en php? Jul 02, 2025 pm 05:01 PM

Il existe deux fa?ons de créer un tableau en PHP: utilisez la fonction Array () ou utilisez des supports []. 1. L'utilisation de la fonction Array () est une manière traditionnelle, avec une bonne compatibilité. Définir des tableaux d'index tels que $ fruits = array ("Apple", "banana", "orange") et des tableaux associatifs tels que $ user = array ("name" => "John", "age" => 25); 2. L'utilisation de [] est un moyen plus simple de prendre en charge depuis PHP5.4, comme $ couleur

See all articles