Bonjour,
depuis quelque heures, je ronge mon frein sur un problème assez bizarre. Voici mon code (un peu épuré) :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 function envoi_mail_activation() { // --- passage à la ligne des headers if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $this->_email)) $passage_ligne = "\r\n"; else $passage_ligne = "\n"; $headers = 'From: "Admin Space Conqueror" <no-reply@spaceconqueror.com>'.$passage_ligne; $headers .= 'Reply-to: "Admin Space Conqueror" <no-reply@spaceconqueror.com>'.$passage_ligne; $headers .= 'MIME-Version: 1.0'.$passage_ligne; $headers .= "Content-Type: text/html; charset=\"utf-8\"".$passage_ligne; $headers .= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message = '...'; $message .= '<a href="'.URL.'lib/controler.php?activation='.$this->_univers.'-'.sha1($this->_pseudo.$this->_mdp).'">'.URL.'lib/controler.php?activation&'.$this->_univers.'-'.sha1($this->_pseudo.$this->_mdp).'</a><br /><br />'; $message = '...'; // --- si le mail n'est pas envoyé, on supprime tout if(mail($this->_email, 'Confirmation d\'inscription sur l\'univers '.ucfirst($this->_univers), $message, $headers) === true) { mail(EMAIL_ADMIN, 'Inscription de '.ucfirst(strtolower($this->_pseudo)).' sur l\'univers '.ucfirst($this->_univers), 'Inscription de '.ucfirst(strtolower($this->_pseudo)).' sur l\'univers '.ucfirst($this->_univers), $headers); $this->msg(COMPTE_CREE); }else { Application::addRequete('DELETE FROM joueurs WHERE joueur_id=? LIMIT 1', array($this->_joueur_id)); Application::doRequetes(); $this->msg(ERREUR_CREATION_COMPTE); } }
Ma ligne posant problème est identifiée et est la suivante :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $message .= '<a href="'.URL.'lib/controler.php?activation='.$this->_univers.'-'.sha1($this->_pseudo.$this->_mdp).'">'.URL.'lib/controler.php?activation='.$this->_univers.'-'.sha1($this->_pseudo.$this->_mdp).'</a><br /><br />';
Mon problème : il suffit que je mette un "=" ou "&" ou "&" par exemple pour que l'utilisateur ne recoive pas son mail d'activation
Au début je codais (un peu à l'arrache je l'avoue sur notepad++) et je pensais que peut etre vu que la gestion de l'encodage laisse à désirer sur notepad++ je trouve, qu'il pouvait s'agir d'un problème de (méta)caractère ou autre dans mon fichier (je précise que j'ai déjà réussi à envoyer des mails d'activatino sur d'autres projet hein). Du coup je suis passé sur netbeans mais idem, dès que je mets un & ou = je ne recois pas mon mail mais la fonction mail() retourne true...
Quelqu'un a une idée ?
Partager