Saut de ligne dans un mail ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Saut de ligne dans un mail ?

    Bonjour,

    J'envoie un mail avec des lignes successives de type
    Code:
    $mail_body = 'Connexion à serveurdest réussie \r\n';
    $mail_body .= 'Liste des fichiers \r\n';
    Dans les exemples PHP que j'ai pu lire, c'est bien "\r\n" qui crée le saut de ligne, mais dans le mail reçu, toutes les lignes sont à la suite.
    Connexion à serveurdest réussie \r\nListe des fichiers \r\n
    Y a-t-il une ligne à ajouter en début de "$mail_body" ou par quoi remplacer "\r\n" pour que ces sauts de lignes soient interprétés ?

    Merci d'avance.
    Dernière édition par RobertG à 06/04/2023, 09h09
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

  • #2
    Tout dépend du format de ton mail.
    De mon côte je fais ainsi :
    Code PHP:
      $mailer JFactory::getMailer();
    ​ 
    Code PHP:
      if($format=='html'){
      
    $nl ="<br />";
      }else{
      
    $nl "\r\n";
      }
    ​ 
    ...
    Code PHP:
      if($format=='html'){
      
    $mailer->isHtml(true);
      
    $mailer->Encoding 'base64';
      }
    ​ 
    et ensuite j'utilise $nl pour les sauts de ligne dans le corps du message.

    Rajout : pour que les \r\n fonctionnement il faut mettre ta chaine entre doubles cotes (") et pas entre cotes simples (') ....
    Dernière édition par roland_d_alsace à 06/04/2023, 08h43
    A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
    Rejoignez le Joomla Users Groupe Alsace...
    roland_d_alsace va-t-il devenir roland_du_grand_est ?

    Commentaire


    • #3
      Merci Roland,

      J'étais justement en train de me poser la question de simple ou double quotes, et surtout isoler \r\n contrairement à ce que je faisais ailleurs avec <br/>

      Bon utiliser "\r\n" a seulement eu pour effet de supprimer cette chaîne, sans saut de ligne.
      Connexion à serveurdest réussie Liste des fichiers
      Je vais essayer d'appliquer ta méthode.

      PS : je viens de réessayer avant de changer de méthode, et "\r\n" entre double quotes est efficace !
      je dois dire que je m'y perds entre l'utilisation des simples et doubles...
      Dernière édition par RobertG à 06/04/2023, 09h08
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        Gag : dans la messagerie de mon FAI, les sauts de lignes sont bien interprétés, pas dans Outlook !
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          Finalement, c'est Outlook qui considère qu'il y a des sauts de lignes en trop (que j'utilise \n seulement ou \r\n) et les supprime, et je ne trouve pas comment le forcer à comprendre qu'il ne faut pas les supprimer...
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Pour faire de multiples sauts de ligne, passe en mode html, tous les clients de messagerie savent le gérer à ce jour.

            Concernant php et les chaines, les doubles quotes ont une fonction d'interpretation du contenu entre les doubles quotes, tu peux aussi y mettre des variables à l'interieur qui seront remplacées par leur valeur.
            Donc "$toto \r" sera remplacé par le contenu de la variable $toto et \r par la chaine hexadécimale 0D
            • \r = hexa 0D = cr/carriage return : retour ligne (mais on reste sur la même ligne)
            • \n = hexa 0A = nl/newline : interligne donc (sans retour ligne, d’où la combinaison des 2 en général)
            A l'inverse à l’intérieur des simples quotes, rien n'est modifié, $toto s'affichera $toto et \r s'affichera \r

            On peut donc penser que l’interprétation par php des simples quotes est + rapide, mais cela n'a jamais été prouvé à ma connaissance.
            Dernière édition par roland_d_alsace à 06/04/2023, 16h28
            RobertG aime ceci.
            A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
            Rejoignez le Joomla Users Groupe Alsace...
            roland_d_alsace va-t-il devenir roland_du_grand_est ?

            Commentaire


            • #7
              Merci de ces conseils, Roland.
              Ce que je ne comprends pas (j'ai fait pas mal de tests) : que ce soit en texte ou en html, lorsque l'affichage est correct dans ma messagerie Orange, les caracttères accentués et spéciaux ne le sont pas dans Outlook. Même souci avec les sauts de lignes bizarrement interprétés par Outlook...
              Peut-être des simple quotes oubliés ?

              PS : c'était bien ça !
              Dernière édition par RobertG à 06/04/2023, 16h38
              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
              MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X