[RESOLU] Php mailer

Eléphant du PHP | 59 Messages

09 août 2021, 12:37

Bonjour à tous,

Je suis entrain de travailler sur un projet scolaire, avec une architecture MVC (actuellement je le développe en local)
Je souhaiterai envoyer un mail une fois l'inscription faite avec le pseudo et le mdp, je ne sais comment faire, j'ai entendu parler de php mailer mais je ne sais pas comment le mettre en place.
A ce jour la personne s'inscrit et cela est envoyé en base de donnée.
Si quelqu'un sait et peu m'aider je serai ravi.
Merci par avance pour votre aide.
@+ Filou

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9039 Messages

09 août 2021, 15:23

Il y a de nombreux tuto dispo sur internet, par exemple celui-ci :
https://analyse-innovation-solution.fr/ ... ail-en-php
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 59 Messages

10 août 2021, 19:31

bonjour,

Merci pour le tuto, je pense l'avoir suivi a la lettre, le soucis quand je valide l'inscription je ne recoit pas de mail mais l'inscription se fait.
J'ai ce message erreur : Fatal error: Uncaught Error: Class "SMTP" not found in /Users/XXXXXXXXXXXXXX/CXXXXXXXX/Projet Final/pj/utils/phpmailer.php on line 18

La ligne 18 c'est :

$mail->SMTPDebug = SMTP::DEBUG_SERVER;

pour rappel je suis en local.

Merci pour avance pour votre aide
@+ Filou

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9039 Messages

10 août 2021, 21:27

Donne nous ton code (à minima les 20 premières lignes) car sans voir le code c'est difficile de debuguer à l'aveugle :-)

Tu as bien fait les use et les require ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 59 Messages

10 août 2021, 21:55

Voici le début du code :
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

//require
require'PHPMailer/src/Exception.php';
require'PHPMailer/src/PHPMailer.php';
require'PHPMailer/src/SMTP.php';


//Creation de l& variable mail objet phpmailer
function sendmail($sujet,$message,$expediteur){

$mail = new PHPMailer(true);

try {
//Server settings
$mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
$mail->isSMTP(); //Send using SMTP
$mail->Host = 'smtp.orange.fr'; //Set the SMTP server to send through
$mail->SMTPAuth = true; //Enable SMTP authentication
$mail->Username = 'mon adresse mail'; //SMTP username
$mail->Password = 'mot de passe ; //SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
//$mail->SMTPSecure = 'SSL';
// dans video c'est //$mail->SMTPSecure = 'ssl'; //Enable implicit TLS encryption
$mail->Port = 465;

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9039 Messages

11 août 2021, 10:17

Il te manque un espace après tes require, pas sûr que ce soit bloquant mais dans le doute il vaut mieux respecter la syntaxe.
Merci pour le tuto, je pense l'avoir suivi a la lettre,
[...]
La ligne 18 c'est :
    $mail->SMTPDebug = SMTP::DEBUG_SERVER; 
Et tu es sûr que cette ligne est présente dans le tuto ? :D
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 59 Messages

11 août 2021, 10:27

j'ai suivi le tuto : https://www.youtube.com/watch?v=O6nI9BR9bQM
et j'ai telecharger la dernière version de phpmailer sur github : https://github.com/PHPMailer/PHPMailer/tags
Je suis en version 6.5.0 de phpmailer

@+Filou