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 :

pb fonction mail ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 122
    Points : 71
    Points
    71
    Par défaut pb fonction mail ?
    Bonjour,

    J'envoie un message par la fonction mail() et j'ai un mot du message qui est affiché "Bon jour" alors que dans le source j'ai bien envoyé "Bonjour" comme le prouve la simulation de mail() par un simple echo. En regardant le source du mail, je vois que "Bon" termine une ligne très longue de 991 caractères et à la ligne suivante un blanc est mis devant "jour".

    Cf le fichier code-mail.txt joint.

    Une idée ???
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et le code de l'envoi du mail ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 122
    Points : 71
    Points
    71
    Par défaut le code
    Extrait du code qui envoit le mail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    		$header = "From: ".MAIL_NOREPLY."\r\nBcc: ".MAIL_RESERVATION."\r\nContent-type: text/html; charset=ISO-8859-1\r\n" ;
    		$to_O = $mailContact ;	
    		$subject_O = "Réservation HELP-FORMATION" ;
    		//	
    		$body_O = "<html><head><div class='texte'>Bonjour, <br><br>" ;
    		$body_O .= "Une personne a effectué une réservation via HELP-FORMATION pour la formation suivante :</div><br>" ;
     
                    etc...	
     
    		envoyer_mail($header,$to_O,$subject_O,$body_O) ;

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Que fais la fonction envoyer_mail() exactement ?
    Tu as ce problème avec tous les clients de messagerie ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 122
    Points : 71
    Points
    71
    Par défaut fonction envoyer_mail
    La fonction envoyer_mail utilise echo ou mail() selon qu'on est en local sur le serveur :

    Code : 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
     
    	function envoyer_mail($p_header,$p_to,$p_subject,$p_body)
    	{
    		if ($_SERVER['SERVER_NAME'] == IP_LOCAL) // pas bien... mais mail ne fonctionne pas en local !
    		{
    			echo "Simulation d'envoi de mail: <br>" ;
    			echo "Header : ".$p_header."<br>" ;
    			echo "To : ".$p_to."<br>" ;
    			echo "Subject : ".$p_subject."<br>" ;
    			echo "Body :".$p_body."<br>" ;
    		}
    		else						
    		if (mail($p_to,$p_subject,$p_body,$p_header) == FALSE) 
    		{
    			echo "Problème survenu dans l'envoi du mail.<br>" ;
    			hf_log("Erreur : Pb dans l'envoi du mail") ;
    		}		
    	}
    en local le echo affiche bien "Bonjour" par contre le mail affiché sur tous les clients que j'ai essayé affiche "Bon jour"

    Qu'en dis-tu ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux nous joindre le fichier .php afin d'essayer de reproduire le problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 122
    Points : 71
    Points
    71
    Par défaut yes !
    Merci !
    Grâce à ta demande d'envoyer le fichier php, j'ai essayé de reproduire le bug en isolant le bout que je t'aurais envoyé. En isolant petit à petit je me suis aperçu que le pb venait du fait que j'avais des déclarations css comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		$body = "<html><head><style type='text/css'>" ; 
    		$body .= ".texte {padding-left:10px;}" ;
    		$body .= ".presentation_titre_formation {color:#6A6868; /* stylo-gris1 */ font-weight: bold; padding-left: 10px;}" ;
    		$body .= ".presentation_formation {width:365px; padding: 10px 10px 10px 10px; background:#F9F9F9; /* fond-bleu2 */ color: #7F7A7F; /* stylo-gris2 */}" ;	
    		etc...
    et le pb venait du fait qu'il y en avait beaucoup sans saut de ligne : en rajoutant "\r\n" en fin de chaque ligne ci-dessus le pb disparait !
    J'ai du dépasser la taille d'une ligne max générée et peut-être tomber sur un bug de mail() ?

    Donc MERCI sabotage, pb RESOLU
    JP

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

Discussions similaires

  1. [FLASH MX] Problème flash et fonction mail() php
    Par proutcore dans le forum Flash
    Réponses: 7
    Dernier message: 21/05/2007, 12h21
  2. Réponses: 5
    Dernier message: 29/10/2005, 16h44
  3. [PHPMailer] la fonction mail et moi !!!
    Par wdionysos dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 27/10/2005, 20h05
  4. Fonction mail avec HTML et images
    Par nico33307 dans le forum Modules
    Réponses: 1
    Dernier message: 05/07/2005, 23h25

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