Guide simple : Utiliser PHPMailer pour envoyer des e-mails de test
P粉344355715
P粉344355715 2023-08-26 21:06:15
0
1
641
<p>J'utilise un serveur Apache2 local sur Debian/Bullseye. J'ai essayé de faire fonctionner PHPMailer mais sans succès. Il semble y avoir deux manières différentes d'installer PHPMailer : la première consiste à utiliser composer, qui a été la première méthode que j'ai essayée. Il crée un dossier fournisseur à la racine du site, qui contient un fichier autoload.php, ainsi que quelques autres fichiers. Le fichier contient le contenu suivant : </p> <pre class="brush:php;toolbar:false;"><?php // autoload.php @généré par Composer require_once __DIR__ '/composer/autoload_real.php'; return ComposerAutoloaderInitd359baac21f520c04e608f4eed750560::getLoader();</pre> <p>Cela semble incomplet (pas de balise de fermeture). Quoi qu'il en soit, je n'arrive pas à faire fonctionner l'exemple "test.php". </p> <p>Une autre méthode consiste à télécharger le fichier .zip depuis le site Web Gethub et à l'extraire dans le répertoire racine du site. Après avoir renommé, j'ai obtenu un dossier PHPMailer. L'utilisation de l'exemple "mailer.php" n'a également aucun effet. </p> <p>Dans les deux cas, j'ai modifié les informations smtp pour utiliser les informations réelles du compte pour le domaine (envoi d'e-mail, mot de passe de connexion, nom du serveur smtp, sécurité smtp de l'hôte et paramètres de port), mais je n'ai même pas répondu au refus. l'e-mail a été reçu. Rien ne s'est passé. Tout ce que je vois, c'est une page Web vierge. </p> <p> J'ai php en cours d'exécution car un script php que j'utilisais auparavant fonctionne toujours (depuis mon site de test - le site actuel insiste maintenant pour utiliser smtp et ne me laisse pas installer le module PEAR).</p> <p>Voici le script mailer.php que j'utilise - quelques détails cachés : </p> <pre class="brush:php;toolbar:false;"><?php //Importez la classe PHPMailer dans l'espace de noms global //Ceux-ci doivent être en haut du script, pas à l'intérieur de la fonction utilisez PHPMailerPHPMailerPHPMailer ; utilisez PHPMailerPHPMailerSMTP ; utilisez PHPMailerPHPMailerException ; nécessite 'PHPMailer/src/Exception.php'; nécessite 'PHPMailer/src/PHPMailer.php'; nécessite 'PHPMailer/src/SMTP.php' ; //Créez une instance ; passez 'true' pour activer les exceptions $mail = nouveau PHPMailer(true); Essayer { //Paramètres du serveur $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Activer la sortie de débogage détaillée $mail->isSMTP(); //Envoyer via SMTP $mail->Host = 'mail.<domain>.ca'; //Définit le serveur SMTP à transmettre $mail->SMTPAuth = true; //Activer l'authentification SMTP $mail->Nom d'utilisateur = 'mail@<domaine>.ca' //Nom d'utilisateur SMTP $mail->Mot de passe = '<secret>' //Mot de passe SMTP $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS //Activer le cryptage TLS implicite $mail->Port = 465; //Port TCP auquel se connecter ; si 'SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS' est défini, veuillez utiliser 587. //destinataire $mail->setFrom('mail@<domain>.ca', 'de moi'); $mail->addAddress('gary@<domain>.ca', 'à moi'); //Ajouter un destinataire // $mail->addAddress('Recipient@emailaddress.com'); //Le nom est facultatif // $mail->addReplyTo('votrenom@domaine.com', 'Votre nom'); // $mail->addCC('cc@exemple.com'); // $mail->addBCC('bcc@example.com'); //Pièces jointes (facultatif) // $mail->addAttachment('/var/tmp/file.tar.gz'); //Ajouter une pièce jointe // $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Nom facultatif; //contenu $mail->isHTML(true); //Définir le format du courrier électronique sur HTML $mail->Sujet = 'Voici le sujet'; $mail->Body = 'Voici le corps du message HTML en gras !'; $mail->AltBody = 'Ceci est le corps en texte brut pour les clients de messagerie non HTML'; $mail->envoyer(); echo 'Le message a été envoyé'; } attraper (Exception $e) { echo "Le message n'a pas pu être envoyé. Erreur de messagerie : {$mail->ErrorInfo}"; } ?>≪/pré> <p>Les lignes TLS proviennent de la société d'hébergement, je suppose donc qu'elles sont correctes. </p> <p>J'ai commenté les options dont je n'ai pas besoin dans mon test, mais cela ne fonctionne toujours pas. Quelqu'un peut-il comprendre ce que je fais de mal ? </p> <p>Merci. </p>
P粉344355715
P粉344355715

répondre à tous(1)
P粉709644700

D'accord, j'ai compris. La société d'hébergement fournit du code de test et son exemple utilise smtp.domain.com. En fait, leur serveur SMTP est mail, pas SMTP. Je suppose que le code cesse de s'exécuter face à un serveur inexistant...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal