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

Administration système Discussion :

probleme d'espace dans le corps d'un mail


Sujet :

Administration système

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 16
    Points
    16
    Par défaut probleme d'espace dans le corps d'un mail
    bonjour à tous (et désolé si c'est pas la bonne catégorie)

    je rencontre un problème depuis un petit bout de temps,

    ou j'ai des espace qui s'ajoute dans le corps de mon mail (format HTML)

    ce dernier est créé en PHP

    mais la ou c'est bizarre c'est que ce problème est aléatoire
    il est possible que la mail soit correct
    ou un espace c'est ajouter dans un mot à la ligne 1
    ou un espace c'est ajouté dans un mot à la ligne 16

    bref du random

    j'ai fais le test sur un autre serveur, et le résultat est identique (un coup ca marche un coup ca déconne)

    je ne pense pas que cela soit lié a mon code, sinon ca l'espace s'afficherait tout le temps

    étant a court d'idée je me suis dis que vous pourriez m'aider

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    je ne pense pas que cela soit lié a mon code,
    Ben non. Tu penses.

    Je n'aime pas l'informatique: Les ordinateurs font toujours ce que je demande et jamais ce que je veux.
    Reprenons:
    Tu as une page html (qui se moque des espaces multiples puisque c'est un flux) qui a un espace en trop.
    Cet espace est créé, comme la page par php.
    Donc, première question: Pourquoi tu viens demander aux linuxiens ?

    Tu ne donnes aucun bout de code.
    Deuxième question: Qu'est-ce que tu veux qu'on y fasse ? Mon livre de sort vaudou est en réparation.

    Tu ne donnes pas le résultat attendu et le résultat obtenu.
    Troisième question: De quoi s'agit-il ?

    Je doute sincèrement du côté aléatoire du problème.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    merci de cette réponse constructive...

    sinon voici des infos complémentaires

    voici le code qui génére mon mail

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    require 'PHPMailer/class.phpmailer.php';
     
    $mail = new PHPMailer ();
    $mail->Host = 'xxxxxxx';
    $mail->SMTPAuth = true;
    $mail->CharSet = 'utf-8';
    $mail->Username = 'xxxxxxx';
    $mail->Password = 'xxxxxxx';
     
    // Expéditeur
    $SetFrom = array ();
    $SetFrom['mail'] = MonAdresse@domaine.com;
    $SetFrom['nom'] = 'MonNom';
     
    // Destinataire
    $AddAddress = array ();
    $AddAddress['mail'] = AdresseDuClient@domaine.com;
    $AddAddress['nom'] = 'NomDuClient';
     
    $sujet = 'SujetDuMail';
     
    $MsgHTML = 'Bonjour Mr. NomDuClient PrenomDuClient';
    $MsgHTML .= '<p>Il est <strong>strictement</strong> confidentiel et personnel.<br />');
    $MsgHTML .= 'Il vous donne accès à votre compte, qui comprends votre historique et suivi de commande,';
    $MsgHTML .= 'ainsi que vos coordonnées personnelles.</p>';
     
    $mail->SetFrom ($SetFrom['mail'], $SetFrom['nom']);
     
    $mail->AddAddress ($AddAddress['mail'], $AddAddress['nom']);
     
    $mail->Subject = $sujet;
     
    $mail->MsgHTML ($MsgHTML);
     
    if (!$mail->Send ()) { echo 'Mail envoyé'; }
    else { echo 'Mail non envoyé'; }
    Le retour attendu est très simple:

    Bonjour Mr xxxxxxx xxxxxxx
    Il est strictement confidentiel et personnel.
    Il vous donne accès à votre compte, qui comprends votre historique et suivi de commande, ainsi que vos coordonnées personnelles.
    et voici différent retour obtenu (et qui prouve le caractère aléatoire)

    Dans ce retour, tout est correct
    Bonjour Mr xxxxxxx xxxxxxx
    Il est strictement confidentiel et personnel.
    Il vous donne accès à votre compte, qui comprends votre historique et suivi de commande, ainsi que vos coordonnées personnelles.
    Dans ce retour, un espace c'est ajouté dans le mot "accès"
    Bonjour Mr xxxxxxx xxxxxxx
    Il est strictement confidentiel et personnel.
    Il vous donne acc ès à votre compte, qui comprends votre historique et suivi de commande, ainsi que vos coordonnées personnelles.
    Dans ce retour, un espace c'est ajouté dans le mot "comprends"
    Bonjour Mr xxxxxxx xxxxxxx
    Il est strictement confidentiel et personnel.
    Il vous donne accès à votre compte, qui com prends votre historique et suivi de commande, ainsi que vos coordonnées personnelles.
    Dans ce retour, un espace c'est ajouté dans la balise <strong> qui est du coup interprété autrement et barre le texte
    Bonjour Mr xxxxxxx xxxxxxx
    Il est strictement confidentiel et personnel.
    Il vous donne accès à votre compte, qui com prends votre historique et suivi de commande, ainsi que vos coordonnées personnelles.
    Si je post dans la catégorie linux, c'est parce que j'ai un doute au niveau de mon PostFix

    Voila en esperant que cela apportera toutes les infos manquantes de mon post initial

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 133
    Points
    15 133
    Par défaut
    Bonjour,

    rien à voir avec ton problème, mais puisque tu écris en français à des Français, autant leur écrire correctement, non ?
    Citation Envoyé par 123Roulement Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $MsgHTML = 'Bonjour Mr. NomDuClient PrenomDuClient';
    $MsgHTML .= '<p>Il est <strong>strictement</strong> confidentiel et personnel.<br />');
    $MsgHTML .= 'Il vous donne accès à votre compte, qui comprends votre historique et suivi de commande,';
    $MsgHTML .= 'ainsi que vos coordonnées personnelles.</p>';
    L'abréviation de Monsieur en français c'est M. ; Mr. n'existe pas, et Mr c'est dans les pays anglophones.
    comprends à la troisième personne du singulier ne comprend pas de « s » à la fin.

    Et en espérant que Nathalie, Nicole, Sandrine, Christine, etc. ne s'offusqueront pas de se voir appeler « M. »...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    J'allais dire exactement pareil. En rajoutant une couche en disant qu'on ne met pas d'abréviation quand on est poli. Monsieur, en toute lettre avec une majuscule.
    C'est le premier bug que je vois.

    Pour l'espace, à ta place, je compterais le nombre de caractères depuis le début jusqu'à l'espace inséré pour voir s'il est constant. Et ne me dis pas sans regarder qu'il n'est pas constant car "Monsieur No" et "Monsieur Papadopouloskinov" n'ont pas la même taille.

    Tu visualises avec ton courrielleur habituel qui interprète le html. Y a-t-il toujours cette espace quand tu affiches ton courrier en texte brut ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    alors oui l'espace est toujours présent si j'affiche le mail au format "texte brut"

    et l'espace est bien aléatoire, en envoyant le même mail (exactement le même au mot pres), l'espace change de place ou n'apparait pas

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Septembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Même problème d'espace dans le corps du mail
    Bonjour

    je reviens sur ce post car j'ai le même problème et je voulais savoir si une solution avait été trouvée

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème espace
    Bonjour à tous,

    Je rencontre aussi le même problème que ce soit en TextBody ou en HTMLBody. Je pense que c'est dû aux variables injectées dans le corps du mail qui change la taille du texte et crées des espaces.
    De plus, plus le corps est grand, plus des espaces aléatoires apparaissent.

    je suis en ce moment à la recherche de solution, pour l'instant sans réponse concrète. si quelqu'un à une solution, je suis aussi preneur.

    Cordialement à tous.

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2017
    Messages : 1
    Points : 4
    Points
    4
    Par défaut une solution
    Bonjour,

    Je pense avoir trouvé une solution.

    Le soucis vient de la manière de générer le corps du mail :

    $message = "<html>....";
    $message .= "<div>...."
    $message = "</html>";

    Il n'y a jamais de retour à la ligne dans ce message (je veux dire des \n).

    Et c'est là que ça pose un problème pour phpmailer (ou autre système puisqu'il s'agit d'une exigence rfc821).

    Phpmailer découpe le message en tronçon de 1000 caractères (voir smtp.class.php : MAX_LINE_LENGTH).

    La découpe se fait sur les retours à la ligne ou bien au milieu d'un mot si pas de retour à la ligne trouvé.

    Et la découpe, c'est : ajout d'un \n et d'un espace (il suffit de regarder le code source du message reçu).

    C'est pas trop gênant sauf si la découpe se fait au milieu d'une balise...

    Bref, la solution (qui marche pour moi) c'est de rajouter au message des \n comme suit :

    $message .= "\n";


    Et voilà, j'espère que j'ai été clair et que ça pourra aider du monde.

    Stéphane

Discussions similaires

  1. [CR XI] - probleme d'espaces dans rapport
    Par campia dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 21/02/2008, 21h26
  2. Probleme d'espace dans une partition
    Par handsome01 dans le forum Windows XP
    Réponses: 13
    Dernier message: 22/01/2008, 08h58
  3. Probleme d'espace dans le nom du fichier
    Par freyliss dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/07/2007, 09h31
  4. Probleme d'espace dans un INPUT TEXT (php/mysql)
    Par Joe Le Mort dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 10/08/2006, 09h30
  5. Réponses: 2
    Dernier message: 24/06/2004, 09h13

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