recherche

Maison  >  Questions et réponses  >  le corps du texte

Guide simple : Utiliser PHPMailer pour envoyer des e-mails de test

<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粉344355715P粉344355715517 Il y a quelques jours679

répondre à tous(1)je répondrai

  • P粉709644700

    P粉7096447002023-08-27 16:24:52

    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...

    répondre
    0
  • Annulerrépondre