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 :

Mail qui ne fonctionne pas


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut Mail qui ne fonctionne pas
    Bonjour,

    Lorsque je charge chez mon hébergeur (OVH) la page qui contient le script du mail, la page ne s'affiche pas alors que sans le script la page s'affiche correctement.
    le code correspondant à la partie du mail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $to = 'nom <nom@gmail.com>,nom1 <nom1@gmail.com>,nom2<nom2@orange.fr>';
    $subject = 'Message sur le site de l&apos;association';                 
    $msg = 'Ci-dessous le message d&acute;pos&eacute; sur le site par $prenom $nom <br />
    	Adresse de l'&eacute;metteur : $emetteur<br />
    	Objet du message : $objet <br />
    	Texte du message : $textemessage';
    $headers = 'From: Association_Culturelle_Troissy_Bouquigny <contact@associationculturelletroissybouquigny.fr>'."\r\n"; 
    $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";
     
    mail($to, $subject, $msg, $headers);
    J'ai le même type de mail sur une page qui fonctionne normalemnt.
    Merci de me dire ce qui ne va pas

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Rien qu'en regardant ton message avec la coloration syntaxique, je vois qu'il y a un problème de quotes dans la variable $msg.
    Si tu utilises des quotes simples (apostrophes ') pour encadrer ta chaine, il faut échapper les apostrophes qui se trouvent dans la chaine. Et au passage, utiliser des quotes simples pour encadrer ta chaine va laisser tes variables non interprétées.

    A lire sur le sujet : Le tutoriel Apostrophes ou guillemets : lesquels choisir ? et la Doc PHP : Les chaînes de caractères.

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Merci pour cette réponse qui m'a permis d'avancer.
    le mail arrive dans ma boîte comme prévu.
    les apostrophes sont bien échappées. Il reste les "à" qui sont des "Ã"

    le mail que je m'envoi pour tester :

    Ci-dessous le message déposé sur le site par PHILIPPE FONTAYNE.
    Adresse de l'émetteur : monnom@gmail.com.
    Objet du message : Encore un test d'envoi.
    Texte du message : Vous pouvez supprimer ces messages qui ne sont que des tests de l'association d'envois de mail à des membres..

    Merci

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    C'est un problème d'encodage. A priori, tu essayes d'envoyer le mail avec un encodage iso-8859-1 (vu ton header $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";), mais le texte que tu envoies encodé en UTF-8 (je suppose que c'est l'encodage du script PHP)

    Le plus simple serait sans doute de mettre de l'UTF-8 partout.

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Quand tu dis "Le plus simple serait sans doute de mettre de l'UTF-8 partout."
    Est ce que ça veut dire que tout le site doit être en UTF-8 ou bien seulement pour le mail ?
    dans le fichier index.php j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    Si la réponse est oui, est ce que je ne risque pas d'avoir un problème avec les saisies dans un textaera ?
    Je pose cette question car j'ai déjà pas mal galéré pour gérer les saisies dans les textaera.

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ah... Tu affiches en ISO-8859-1... C'est un choix, pas celui que j'aurais fait personnellement, mais tu fais comme tu veux.
    Dans ce cas, tu peux utiliser la fonction utf8_​decode, qui convertit de UTF-8 vers ISO-8859-1 (et vice-versa avec utf8_​encode)

    Sinon, il existe un tuto pour Encoder son site intégralement en UTF-8.

  7. #7
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Oui tout le site est en ISO-8859-1 et en lisant le lien que tu me donnes je vois que les tables sont impactées.
    Donc comme je commence tout juste à refaire le site pour qu'il soit Responsive (je vais en profiter pour modifier l'encodage) mais je vais me contenter des fonctions que tu m'indiques pour le site en ligne.

    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [EasyPHP] Envoi d'e-mail qui ne fonctionne pas
    Par devdev dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 24/07/2009, 12h47
  2. Réponses: 1
    Dernier message: 05/06/2009, 20h56
  3. Réponses: 6
    Dernier message: 22/05/2007, 10h55
  4. [Mail] mail() qui ne fonctionne pas vers le serveur
    Par padawa dans le forum Langage
    Réponses: 2
    Dernier message: 12/06/2006, 12h49
  5. [Mail] Pb de script qui ne fonctionne pas
    Par Yael dans le forum Langage
    Réponses: 5
    Dernier message: 14/02/2006, 10h27

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