PhpMailer avec des HREF ?

mikis69 Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   -  
mikis69 Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je voulais vous poser une question car cela me dépasse un peu.. J'aimerai envoyer un mail depuis mon site internet.

Pour ce faire j'utilise un PHPMAILER et tout fonctionne bien, voici le code :

$mail = new PHPMailer\PHPMailer\PHPMailer(true);
   $mail->Host = "hp235.hostpapa.com";  // Specify main and backup SMTP servers
   $mail->SMTPAuth = true;                               // Enable SMTP authentication
   $mail->Username = "info@email.com";                 // SMTP username
   $mail->Password = "password";                           // SMTP password
   $mail->Port = 587;                                    // TCP port to connect to
   
   $mail->setFrom('info@magica-feeria-fantasy.com', utf8_decode('Magica Féeria Fantasy'));
   $mail->addAddress($_POST['email'], $mg->getUserInfo('lastName', $retour) . ' ' . $mg->getUserInfo('firstName', $retour));     // Add a recipient
   
   $mail->Subject = utf8_decode('Changez votre mot de passe');
   $mail->AddEmbeddedImage('../../images/logo/logo-header.png', 'logo_2u');

   $mail->msgHTML(utf8_decode("<html><body><img src='cid:logo_2u' />" .
      "<p><strong>Bonjour " . $mg->getUserInfo('firstName', $retour) . ",</strong> <br><br>" . 
               "Vous avez oublié votre mot de passe ? Réinitialisez-le sans attendre.<br><br></p>" . 
      "<a style='text-decoration:none;'><span style='background:#FE980F;border:none;color:#fff;padding:6px 12px;font-size:14px;font-weight:normal;'>Changez mon mot de passe</span></a>" . 
      "<br><br><span style='font-size:10px;'>Ce lien ne peut être utilisé qu'une seule fois</span><br><br>" . 
      "<p>Cordialement,<br><br>Votre équipe Magica Féeria Fantasy</p></body></html>"));
   
   $mail->send();


Mon problème : j'aimerai que la balise <a></a> qui se trouve dans msgHTML(); possède l'attribut HREF pour justement rediriger le user vers le site et ainsi changer son mot de passe. Le soucis est que lorsque j'ajoute la balise HREF, l'email s'envoie ($mail->send() me renvoie true) mais l'email n'arrive pas jusque ma boite de récéption (hotmail/outlook).

Ma question : Comment cela se fait-il ? :(

Merci pour votre aide,

Mikis

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Comment l'as tu écrit ?
0
mikis69 Messages postés 168 Date d'inscription   Statut Membre Dernière intervention  
 
$mail = new PHPMailer\PHPMailer\PHPMailer(true);
   $mail->Host = "hp235.hostpapa.com";  // Specify main and backup SMTP servers
   $mail->SMTPAuth = true;                               // Enable SMTP authentication
   $mail->Username = "info@email.com";                 // SMTP username
   $mail->Password = "password";                           // SMTP password
   $mail->Port = 587;                                    // TCP port to connect to
   
   $mail->setFrom('info@magica-feeria-fantasy.com', utf8_decode('Magica Féeria Fantasy'));
   $mail->addAddress($_POST['email'], $mg->getUserInfo('lastName', $retour) . ' ' . $mg->getUserInfo('firstName', $retour));     // Add a recipient
   
   $mail->Subject = utf8_decode('Changez votre mot de passe');
   $mail->AddEmbeddedImage('../../images/logo/logo-header.png', 'logo_2u');

   $mail->msgHTML(utf8_decode("<img src='cid:logo_2u' />" .
      "<p><strong>Bonjour " . $mg->getUserInfo('firstName', $retour) . ",</strong> <br><br>" . 
               "Vous avez oublié votre mot de passe ? Réinitialisez-le sans attendre.<br><br></p>" . 
      "<a style='text-decoration:none;' href='https://magica-feeria-fantasy.com/forget-" . $mg->getUserInfo('forget', $retour) . "'><span style='background:#FE980F;border:none;color:#fff;padding:6px 12px;font-size:14px;font-weight:normal;'>Changez mon mot de passe</span></a>" . 
      "<br><br><span style='font-size:10px;'>Ce lien ne peut être utilisé qu'une seule fois</span><br><br>" . 
      "<p>Cordialement,<br><br>Votre équipe Magica Féeria Fantasy</p>"));
   
   $mail->send();
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu peux tester ça :
  $url = "https://magica-feeria-fantasy.com/forget-" . $mg->getUserInfo('forget', $retour);
  $message =  "<img src='cid:logo_2u' />
              <p><strong>Bonjour " . $mg->getUserInfo('firstName', $retour) . ",</strong> 
                <br><br> 
                Vous avez oublié votre mot de passe ? Réinitialisez-le sans attendre.<br><br>
              </p> 
              <a style='text-decoration:none;' 
                 href='".$url."'>
                <span style='background:#FE980F;border:none;color:#fff;padding:6px 12px;font-size:14px;font-weight:normal;'>
                  Changez mon mot de passe
                </span>
              </a>
              <br><br>
              <span style='font-size:10px;'>  
                Ce lien ne peut être utilisé qu'une seule fois
              </span>
              <br><br> 
              <p>
                Cordialement,<br><br>Votre équipe Magica Féeria Fantasy
              </p>";
  
  echo "url : " . $url;
  echo " Message : <pre>".$message . "</pre>";
  exit();
  $mail->msgHTML(utf8_decode($message));
0
mikis69 Messages postés 168 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse,

Le message est correct dans $message mais l'email n'arrive pas jusque dans ma boîte de reception.. Pourtant encore une fois $mail->send() me renvoie true..

Quelque chose pourrait bloquer le mail avant qu'il n'arrive dans la boîte de réception ? (et il n'est pas dans les spams ou ailleurs)..
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
oui, des mots clés considérés comme du spam par exemple.
as tu vérifié dans ton dossier spam ?
Et si tu remplace, dans le href, par un lien bidon genre www.google.fr ... ça donne quoi ?


au passage ... j'aurais bien aimé voir ce que ça t'affichait .... car tu dis que c'est bon... mais tu pourrais avoir omis quelque chose...
0
mikis69 Messages postés 168 Date d'inscription   Statut Membre Dernière intervention  
 
Voici ce qui est affiché :)

url : https://magica-feeria-fantasy.com/forget-$2y$10$tcgf6Rck6rXhFxyLeSBpi.GFdCu9pLSP0TMfrXsqsjzyAYPWKLlay Message : <pre><img src='cid:logo_2u' />
              <p><strong>Bonjour Mikis,</strong> 
                <br><br> 
                Vous avez oublié votre mot de passe ? Réinitialisez-le sans attendre.<br><br>
              </p> 
              <a style='text-decoration:none;' 
                 href='https://magica-feeria-fantasy.com/forget-$2y$10$tcgf6Rck6rXhFxyLeSBpi.GFdCu9pLSP0TMfrXsqsjzyAYPWKLlay'>
                <span style='background:#FE980F;border:none;color:#fff;padding:6px 12px;font-size:14px;font-weight:normal;'>
                  Changez mon mot de passe
                </span>
              </a>
              <br><br>
              <span style='font-size:10px;'>  
                Ce lien ne peut être utilisé qu'une seule fois
              </span>
              <br><br> 
              <p>
                Cordialement,<br><br>Votre équipe Magica Féeria Fantasy
              </p></pre>


Désolé ! J'essaie de mettre google (et non il n'est pas dans les spams..)
0