IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction mail : probleme insoluble. Encodage fichier ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut Fonction mail : probleme insoluble. Encodage fichier ?
    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 "&amp;" 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 ?

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Pouah, je comprends plus rien

    Dès que je mets un = ou & ou www je ne recois pas mon mail mais j'ai pas d'erreurs

    Quelqu'un aurait il une idée ?

    Je remets mes entetes :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $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';


  3. #3
    Membre confirmé Avatar de hiul dragonfel
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 199
    Par défaut
    tu as essayé avec phpmailer ?

    ça m'a résolu pas mal de problèmes. il y a des soucis pour envoyer des pièces jointe à orange parcontre.

    URL est une constante ?

    sinon fait attention à la longueur des lignes de ton body. il vaut mieux limiter la longueur à 70 caractères. juste pour la compatibilité.

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour et merci

    pour phpmailer, je suis pas chaud car bon c'est juste pour envoyer un seul mail (très simple) alors mince ca devrait marcher surtout que je l'ai déjà fait à maintes reprises

    exemple complètement absurde résumant bien mon problème :

    Si mon message vaut uniquement $message = "abc" -> mail recu
    Si mon message vaut uniquement $message = "wwwabc" -> mail non recu !!!

    A se fracasser la tete

  5. #5
    Membre éprouvé Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut
    Citation Envoyé par hiul dragonfel Voir le message
    ça m'a résolu pas mal de problèmes. il y a des soucis pour envoyer des pièces jointe à orange parcontre.
    dans mon ancien boulot on demandait directement aux client de ne pas nous donner une adresse e-mail hotmail ou orange pour que le client soit sur de bien recevoir nos e-mail

    tu essaies d'envoyer l'e-mail à quelle type d'adresse ?

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    gmail ou hotmail mais idem

    PS: j'envoie aucune pieces jointes

  7. #7
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Problème à demi résolu, si j'enleves le

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $headers .= 'Content-Type: text/html; charset=iso-8859-1'.$passage_ligne;

    je peux envoyer des liens

Discussions similaires

  1. J2EE envoie de mail problem sur les fichiers joints
    Par cesear89 dans le forum NetBeans
    Réponses: 1
    Dernier message: 26/03/2011, 14h30
  2. Mail | probleme d'encodage des caractères
    Par kippix dans le forum Debian
    Réponses: 1
    Dernier message: 19/05/2007, 22h36
  3. Réponses: 7
    Dernier message: 10/06/2006, 14h31
  4. [Mail] Probleme fonction mail()
    Par moulefrite dans le forum Langage
    Réponses: 18
    Dernier message: 23/05/2006, 08h21
  5. [Mail] Probleme fonction mail()
    Par tissot dans le forum Langage
    Réponses: 1
    Dernier message: 14/11/2005, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo