Problème d'affichage HTML après envoie de mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème d'affichage HTML après envoie de mail

par murdok » 23 févr. 2009, 20:34

bonjour

désolé de la réponse tardive mon client a mis du temps a répondre.
le client mail sur mac est bien "Mail"

par Victor BRITO » 16 févr. 2009, 16:57

c'est sur le client par défaut sur mac, je crois que c'est mail.
En es-tu sûr ? Si c'est le cas, c'est bizarre car Apple Mail est un client mail plutôt respectueux des standards, qui affiche une page HTML conforme aux standards sans problème particulier (ce rapport en fait foi). :-k

par murdok » 16 févr. 2009, 12:48

c'est sur le client par défaut sur mac, je crois que c'est mail.

par Hywan » 15 févr. 2009, 13:32

Hey :),

Oui, lequel ? Parce que dire que c'est sur Mac, ça ne veut rien dire …

par Victor BRITO » 13 févr. 2009, 13:35

merci du retour mais la dans le cas c'est sur un client logiciel mac
Lequel ?

par Invité » 13 févr. 2009, 00:52

merci du retour mais la dans le cas c'est sur un client logiciel mac et il n'y pas que des images dans le contenu du texte mais également du texte!

par Victor BRITO » 12 févr. 2009, 20:07

Il ne faut pas oublier que la plupart des clients mail et webmails désactivent les images par défaut. ;) Auquel cas, il faut être d'autant moins surpris de voir une page blanche que l'attribut alt n'est pas renseigné dans la balise IMG (donc, pas de texte alternatif à afficher à la place).

par murdok » 12 févr. 2009, 17:48

est ce une histoire de formatage html?

par murdok » 10 févr. 2009, 20:11

Merci du retour voici le code :
<?php
function decoder($texte){
		
        //$texte = utf8_decode($texte); // converti en iso-8859-1
		$texte = stripslashes($texte); // élimine les anti-slashs d'échappement
        //$texte = str_replace('\\', '', $texte);
        $texte = nl2br($texte); // converti les retours  en <br />
        $texte = trim($texte); // élimine les '\n', '\r', '\t' etc
        return $texte;
}


//ini_set('sendmail_from', '[email protected]'); 
 
$erreurPHP="";

/*$_POST['sujet'] = 'formulaire Test';
$_POST['messageHtml'] = '<html> 
     <head> 
     <title>Titre</title> 
     </head> 
     <body>Test de message
	 <div align=center><img src="http://www.domaine.com/logo.jpg"/>Coût final après déduction du crédit d\'impôt</div>
	 </body> 
     </html>';
$_POST['messageText'] = "Salut ";
$_POST['expediteur'] = "nom";
$_POST['mailReponse'] = "[email protected]";*/



if(isset($_POST['sujet']))$sujet = $_POST['sujet'];
else $erreurPHP .= "Variable 'sujet' non transmise\n";
 
if(isset($_POST['messageHtml']))$messageHtml = $_POST['messageHtml'];
else $erreurPHP .= "Variable 'message' non transmise\n";

if(isset($_POST['messageText']))$messageTexte = $_POST['messageText'];
else $erreurPHP .= "Variable 'message' non transmise\n";
 
if(isset($_POST['expediteur']))$expediteur = $_POST['expediteur'];
else $erreurPHP .= "Variable 'expediteur' non transmise\n";
 
if(isset($_POST['mailReponse']))$mailReponse = $_POST['mailReponse'];
else $erreurPHP .= "Variable 'mailReponse' non transmise\n";
 
if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP);
else
{
	$expediteurmail = "[email protected]";
	$to = $mailReponse;
	$sujet = decoder($sujet);
	$expediteur = decoder($expediteur);
	$messageHtml = decoder($messageHtml);
	$messageTexte = utf8_decode($messageTexte);
	
	
	 //-----------------------------------------------
     //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
     //-----------------------------------------------

     $frontiere = '-----=' . md5(uniqid(mt_rand()));

     //-----------------------------------------------
     //HEADERS DU MAIL
     //-----------------------------------------------

     $headers = 'From: '.$expediteur.' <'.$expediteurmail.'>'."\n";
     $headers .= 'Return-Path: <'.$expediteurmail.'>'."\n";
     $headers .= 'MIME-Version: 1.0'."\n";
     $headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\n";
	 //$headers .= "Cci: [email protected]\n";
	 $headers .= 'Content-Transfer-Encoding: 8bit';

     //-----------------------------------------------
     //MESSAGE TEXTE
     //-----------------------------------------------
     //$message = 'This is a multi-part message in MIME format'."\n\r";

     $message = '--'.$frontiere."\n";
     $message .= 'Content-Type: text/plain; charset=utf-8'."\n";
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\r\n\r";
	 $message .= $messageTexte."\n";

     
	 //-----------------------------------------------
     //MESSAGE HTML
     //-----------------------------------------------
     $message .= '--'.$frontiere."\n";
     $message .= 'Content-Type: text/html; charset="utf-8"'."\n"; 
     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     $message .= $messageHtml."\n\n";

     $message .= '--'.$frontiere."\n"; 
	



	$mail_OK = mail($to, $sujet, $message, $headers) ;
	
 
	if (!$mail_OK)
	{
		$erreurPHP .= "Problème lors de l'envoi du mail";
		
	}
	echo utf8_encode("erreurPHP=".$erreurPHP);
}
?>
[/code]

par @rthur » 10 févr. 2009, 12:21

Bonjour,

Comment envoies-tu ton e-mail (source PHP)?

Problème d'affichage HTML après envoie de mail

par murdok » 10 févr. 2009, 11:58

Bonjour à tous,

j'ai un script qui permet d'envoyer un mail après récupération du message depuis un flash.
Tout marche super autant la version texte que la version HTML.
Seul souci sur un mac cela n'affiche que le titre et aucun contenu, page blanche!
Avez vous une petite idée vers quoi il faut que je prete attention?

merci