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 :

Pbs avec Mail


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut Pbs avec Mail
    Salutations

    J'ai un petit détail enquiquinant depuis que j'ai rajouté des boundary à mes php mail.
    En effet, depuis ce moment la, les 2/3 premières lignes de mes mails PHP sont tronqués.
    Cela ne commence qu'a ma 4èm ligne.

    Au début, je pensais que c'était à cause des $msg2 .= "-----\r\n"; que j'avais mis pour aérer le mail, mais même en remplaçant avec des underscores, cela fait pareil ...

    Voici le code en question :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    (...)
    	// Message aux membres
    	$msg2 = "--".$boundary."\r\n";
    	$msg2 .= "Content-type:text/plain;charset=utf-8"."\r\n";
    	$msg2 .= "Content-transfer-encoding:8bit"."\r\n";
    	$msg2 .= "_____\r\n";
    	$msg2 .= "Le debarras suivant a bien ete effectue :\r\n";
    	$msg2 .= "_____\r\n\n";
    	$msg2 .= "* Ticket : " . $id . "\r\n";
    	$msg2 .= "* Type : " . $type . "\r\n";
    	$msg2 .= "* Adresse IP : " . $ip . "\r\n\n";
    	$msg2 .= "* Date : " . $date . "\r\n";
    	$msg2 .= "* Saisie : " . $saisie . "\r\n\n";
    	$msg2 .= "* Deadline : " . $deadline . "\r\n\n";
    	$msg2 .= "* Details :\r\n" . $details . "\r\n\n";
    (...)
    	$msg2 .= "* Nota bene :\r\n" . $notabene . "\r\n\n";
    	$msg2 .= "* Localisation : " . $ville . "\r\n\n";
    	$msg2 .= "* Note benevoles : " . $note . "\r\n\n";
    	$msg2 .= "* Depot possible : " . $depot . "\r\n\n";
    	$msg2 .= "_____\r\n\n";
    	$msg2 .= "Registre actuel complet : https://xxxxx\r\n\n";
    	$msg2 .= '--'.$boundary."\r\n";
    (...)
    	// envoi du message aux clients
    	mail($mail, $titre, $msg2, $entete);
    Hé bien, la première ligne reçue est :
    * Ticket : 1149
    (...)
    Any idea ?
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  2. #2
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    Aucune idée ?
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Pas une idée, mais une suggestion : à la place de la fonction mail de PHP utilise la librairie PHPMailer
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    Hummm ... Oui, mais cela me force à TOUT refaire un back-office.
    De plus, je n'aime pas du tout dépendre d'un plugin, widget, extension, ou trucs externe.

    La raison pour laquelle j'étais resté sur mail.
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  5. #5
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    Novembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 99
    Points : 228
    Points
    228
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $msg2 .= "Content-type:text/plain;charset=utf-8"."\r\n";
    $msg2 .= "Content-transfer-encoding:8bit"."\r\n";
    ne devraient-ils pas être concaténés à la variable $entetes (ou ajoutés dans le tableau) ?

    De plus, vous écrivez plusieurs fois \r\n\n en fin de ligne hors la doc précise qu'il faut que ce soit \r\n.

  6. #6
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par Trehinos Voir le message
    (...)
    De plus, vous écrivez plusieurs fois \r\n\n en fin de ligne hors la doc précise qu'il faut que ce soit \r\n.
    Car je saute plusieurs lignes.
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Une petite recherche m'a fait trouver ça (et ça confirme ce que disait Trehinos au post #5) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                $headers  = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
                'Reply-To:'.$email. "\r\n" .
                'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
                'Content-Disposition: inline'. "\r\n" .
                'Content-Transfer-Encoding: 7bit'." \r\n" .
                'X-Mailer:PHP/'.phpversion();
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  8. #8
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    Novembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 99
    Points : 228
    Points
    228
    Par défaut
    Citation Envoyé par Casio Voir le message
    Car je saute plusieurs lignes.
    Dans ce cas, insérez "\r\n\r\n".
    Un saut de ligne, c'est soit "\r", soit "\n", soit "\r\n", suivant le système... mais ça n'a pas de sens de mélanger les symboles. C'est un même symbole pour un système donné.

    Pour les emails, un saut de ligne, c'est "\r\n". Donc deux, c'est "\r\n\r\n" =)

  9. #9
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    Merci de vos aides ...

    En m'inspirant de vos réponses, voici ce que je viens de pondre pour le header du mail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	// Headers
    	$entete = 'MIME-Version: 1.0' . "\r\n";
    	$entete .= 'From:'.$deb.' <'.$debarras.'>' . "\r\n" .
    		'Reply-To:'.$asso.' <'.$wda.'>' . "\r\n" .
    		'Content-Type: multipart/mixed; boundary='.$boundary.'; charset="utf-8"; DelSp="Yes"; format=flowed ' . "\r\n" .
    		'Content-Disposition: inline' . "\r\n" .
    		'Content-Transfer-Encoding: 7bit' . "\r\n" .
    		'X-Mailer:PHP/'.phpversion();
    	$entete .= 'Return-Path: '.$asso.' <'.$wda.'>' . "\r\n";  // Return path for errors
    Qu'en pensez-vous ?

    En espérant que ce soit ça qui tronque mes mails ...
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  10. #10
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par Trehinos Voir le message
    Dans ce cas, insérez "\r\n\r\n".
    Un saut de ligne, c'est soit "\r", soit "\n", soit "\r\n", suivant le système... mais ça n'a pas de sens de mélanger les symboles. C'est un même symbole pour un système donné.

    Pour les emails, un saut de ligne, c'est "\r\n". Donc deux, c'est "\r\n\r\n" =)
    Oki, je corrige le corps du mail avec cela ... Merci ...

    Je ferais un test ensuite pour voir si c'est bien cela qui tronque les mails ...
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  11. #11
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    Bon, tout semble bien fonctionner à présent SI CE N'EST que certains webmails reçoivent le mail avec 2 pièces-jointes (dont un fichier .bin) et aucun corps de mail.

    Comment faire ?
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  12. #12
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Il faudrait donner le code actuel.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  13. #13
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    salut,

    est-ce aléatoire ou spécifique à un groupe de destinataires. Parce que j'ai déjà eu ce genre de problème. Celui qui était fautif était le serveur de réception des mails qui faisait du fait d'un paramétrage foireux, une manip interne sur le courrier entrant. Vérifie d'abord auprès de tes destinataires.

  14. #14
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    Voici mon code :

    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
    // clé aléatoire de limite
    $boundary = md5(uniqid(microtime(), TRUE));
     
    (...)
     
    // Headers
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'From:'.$nom_du_site.' <'.$votreemail.'>' . "\r\n" .
    	'Reply-To:'.$nom_du_site.' <'.$votreemail.'>' . "\r\n" .
    	'Content-Type: multipart/mixed; boundary='.$boundary.'; charset="utf-8"; DelSp="Yes"; format=flowed ' . "\r\n" .
    	'Content-Disposition: inline' . "\r\n" .
    	'Content-Transfer-Encoding: 7bit' . "\r\n" .
    	'X-Mailer:PHP/'.phpversion();
    $headers .= 'Return-Path: '.$nom_du_site.' <'.$votreemail.'>' . "\r\n";  // Return path for errors
     
    (...)
     
    mail($resultat[email], $objet, $message, $headers); // Envoi du mail
    J'avoue d'ailleurs, bien qu'ayant cherché, ne pas comprendre toutes les options.
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  15. #15
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    Je ne sais pas si mon précédent post n'est pas passé à l'as .
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

  16. #16
    Membre du Club Avatar de Casio
    Homme Profil pro
    Historien numérique
    Inscrit en
    Novembre 2005
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Historien numérique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 312
    Points : 59
    Points
    59
    Par défaut
    En fait, cela génère une ou deux pièces jointes, dont un fichier nommé 'Part_2.bin" qui est vide (il fait 2 Octets).
    Digital self-made Man - OnLine since 1993.
    https://wda-fr.org - https://mathieu.charreyre.net

Discussions similaires

  1. Pbs avec des fichiers de chez mac
    Par sami_c dans le forum Windows
    Réponses: 1
    Dernier message: 19/12/2005, 23h43
  2. [Mail] header "From:" avec mail()
    Par oranoutan dans le forum Langage
    Réponses: 16
    Dernier message: 16/12/2005, 15h49
  3. Pbs avec plans de maintenance sous l'agent SQL
    Par sheira dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/09/2005, 06h16
  4. [T-SQL] pbs avec PATINDEX
    Par Bill_Baroud dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/08/2005, 16h24
  5. [ Struts] pbs avec <bean:message key=.../>
    Par njac dans le forum Struts 1
    Réponses: 3
    Dernier message: 01/12/2004, 14h08

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