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 :

Php Mail(), encodage et saut de ligne


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut Php Mail(), encodage et saut de ligne
    Bonjour

    Je suis face à un pb que je n arrive pas à résoudre tant il est surprenant, enfin pour moi.

    J utilise la fonction mail ci après pour envoyer mes messages en HTML et au format Text.

    Quand je les lis avec le webmail de mon hébergeur (hostinger) le titre a un problème d'encodage le mot Français apparait ainsi : Français mais le corps qui contient le même mot n'a aucun problème d'affichage et Français apparait bien tel qu'il doit être.

    Quand je le lis avec Thunderbird là dans la liste des messages le titre n a pas le bon encodage et apparait ainsi Fran?ais alors que sur le panneau de visualisation du message, le titre est correct.
    Le texte quant à lui est toujours bien encodé que ce soit en html ou en text.

    De plus mes sauts de ligne "\n" ne sont pas pris en compte dans mon message texte.

    Le sujet, et messages texte et html sont construit sur une même page, les données en Post extraites d un même formulaire...

    Pourriez vous m expliquer s il vous plait pourquoi et comment y remédier ?

    Ma fonction 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
    function SendMail($from, $replyTo, $to, $sujet, $txt_msg, $html_msg) {
    	$rn = "\n";
    	$delimitation = uniqid();
    	$headers = 'From: ' . $from . $rn;
    	$headers .= 'Reply-to: ' . $replyTo . $rn;
    	$headers .= 'Content-Type: multipart/alternative;' . $rn . ' boundary="' . $delimitation . '"' . $rn . $rn;
    	$message = "";
    	$message .= "--" . $delimitation . $rn;
    	$message .= "Content-Type: text/plain; charset=utf-8" . $rn;
    	$message .= "Content-Transfer-Encoding: 8bit" . $rn . $rn;
    	$message .= $txt_msg;
    	$message .= $rn . $rn . "--" . $delimitation . $rn;
    	$message .= "Content-Type: text/html; charset=utf-8" . $rn;
    	$message .= "Content-Transfer-Encoding: 8bit;" . $rn . $rn;
    	$message .= $html_msg;
    	$message .= $rn . "--" . $delimitation . "--";
    	return mail($to, $sujet, $message, $headers);
    }
    merci pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 333
    Points : 15 677
    Points
    15 677
    Par défaut
    pour envoyer un e-mail complexe de ce genre, je vous conseille d'utiliser phpmailer qui permet de simplifier l'envoi d'e-mails :
    https://github.com/PHPMailer/PHPMailer

  3. #3
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut
    Merci, je vais regarder cela.

    Je laisse le post encore ouvert quelques jours histoire de...

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

Discussions similaires

  1. [php mail()] Encodage Headers
    Par Marmotton76 dans le forum Langage
    Réponses: 4
    Dernier message: 15/03/2012, 13h00
  2. [PHP-JS] Traitement des sauts de lignes
    Par Seta-san dans le forum Langage
    Réponses: 6
    Dernier message: 16/03/2009, 19h49
  3. [Mail] mail header avec saut de ligne
    Par benoitXV dans le forum Langage
    Réponses: 1
    Dernier message: 28/11/2008, 12h32
  4. Réponses: 13
    Dernier message: 03/12/2005, 17h09
  5. [MySQL] Formulaire php + bdd = perte des sauts de ligne html ?
    Par sunshine33 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/10/2005, 11h19

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