PhpMailer avec des HREF ?

Fermé
mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019 - Modifié le 30 mai 2018 à 19:22
mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019 - 30 mai 2018 à 21:19
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 38319 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 706
30 mai 2018 à 19:25
Comment l'as tu écrit ?
0
mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019
Modifié le 30 mai 2018 à 19:31
$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 38319 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 706
30 mai 2018 à 19:36
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 mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019
30 mai 2018 à 19:48
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 38319 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 706
30 mai 2018 à 19:53
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 mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019
30 mai 2018 à 19:58
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