Mise en page de mail

  • Auteur de la discussion Auteur de la discussion dadovb
  • Date de début Date de début
WRInaute passionné
Bonjour à tous,
Je possède un site bilingue d'envoi d'ecard. Les destinataires de l'ecard recoivent un mail pour les prévenir et leur indiquant l'url où se trouve l'ecard à consulter.

J'ai recemment mis en ligne la version anglaise de mon site, en fait, j'enregistre tous mes messages dans deux tables différentes et une fonction php va chercher dans la table en fonction de la langue de l'utilisateur.

Avant le texte était présent dans ma page php et j'utilisais \n \t pour mettre en page mon mail.

Mais quand je mets ces sigles dans ma base de données (mysql), il ne sont pas interprétés et apparaissent dans les messages.

Bonjour, \n \n
Votre ami truc vous as envoyé une e-card, consultez-là à l'adresse suivante : \n \n

blabla

Voilà, donc j'aurais besoin de votre aide pour savoir s'il ya un autre moyen de mettre en page les mails, ou s'il y a un moyen de forcer l'interprétation de sigles de mise en page.

Merci d'avance.
 
WRInaute discret
Bonjour, avec la fonction mail() de php:

-> $texte='Coucou\nComment sa va?';
donne dans le mail: Coucou\nComment sa va?


-> $texte='Coucou'."\n".'Comment sa va?';
donne dans le mail: Coucou
Comment sa va?
 
WRInaute occasionnel
y'a pass moyen d'envoyer les mails au format html ?
des exemples de scripts ?
C'est plus bo quand même !
 
WRInaute accro
Si ! Là : -http://www.phportail.net/articles/23-envoi-de-mail-html.php
et là aussi : -http://www.asp-php.net/ressources/codes/php-envoyer_un_mail_au_format_html.htm
etc.
 
WRInaute passionné
ch_lensois a dit:
sinon y'a aussi la fonction nl2br qui transform les \n en <br>

oui mais si je remplace par des <br>, ca devient un mail HTML, et de nombreuses boitesde réception bloque les mails au format HTML...
 
WRInaute passionné
Wells a dit:
Bonjour, avec la fonction mail() de php:

-> $texte='Coucou\nComment sa va?';
donne dans le mail: Coucou\nComment sa va?


-> $texte='Coucou'."\n".'Comment sa va?';
donne dans le mail: Coucou
Comment sa va?

Code:
We remain at your disposal for any further queries. "."\n"."  Kind regards, "."\n"."  The team

Voilà, ce qu'il me ressort, le passage pas mysql doit géner l'interprétation des "" et des ' " '...
 
WRInaute accro
dadovb a dit:
Wells a dit:
Bonjour, avec la fonction mail() de php:

-> $texte='Coucou\nComment sa va?';
donne dans le mail: Coucou\nComment sa va?


-> $texte='Coucou'."\n".'Comment ça va?';
donne dans le mail: Coucou
Comment ça va?
...
Voilà, ce qu'il me ressort, le passage pas mysql doit géner l'interprétation des "" et des ' " '...


Essaie :
Code:
$texte="Coucou\n"."Comment ça va?";
 
WRInaute passionné
arf ca marche pas non plus, mais doit yavoir une astuce pour virer la protection des caractères spéciaux que met en place mysql !
 
WRInaute passionné
Voilà comment mysql interprète la requete :
Code:
UPDATE `pg_traduc_msg_en` SET `txt` = 'We remain at your disposal for any further queries.\\n"." Kind regards, \\n"." The PhotoLicence© team http://www.photolicence.com/' WHERE `num_auto` = '1801'

don évidement derrière le résultat est mal interprété par php à cause des double "\". Avez-vous une idée meilleure que la seulle qui me vient à l'esprit-->faire à chaque fois :
Code:
$message = str_replace("\\n","\n",$message);
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut