Formulaire mail qui ne fonctionne pas que sous mac...

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 : Formulaire mail qui ne fonctionne pas que sous mac...

Re: Formulaire mail qui ne fonctionne pas que sous mac...

par mouins » 28 août 2009, 14:22

Mets ca dans ton fichier php pour voir deja si le probleme viens du code ou pas
<?
@mail('ton@mail', 'test formulaire', 'test '.date('d/m/Y H:i:s')); // met ton adresse
$fp = fopen('test.txt', 'w'); // meme si le mail ne passe pas tu devrais trouver un fichier test.txt ou il y a la date
fwrite($fp, 'test '.date('d/m/Y H:i:s'));
fclose($fp);
?>
j'attends ta reponse pour voir l'etape suivante

Re: Formulaire mail qui ne fonctionne pas que sous mac...

par murdok » 28 août 2009, 13:53

Bonjour à tous

j'ai enfin le retour de mon client.
toujours le meme soucis, ce n'est pas fait en tableau et j'ai testé en utilisant la séquence \r\n et meme souci.
Je ne vois pas trop ce qui peux coincer.

merci

par Sékiltoyai » 29 juil. 2009, 19:05

Déjà, de un, dans les headers on utilise la séquence "\r\n" pour les délimitations et non "\n".
Modifie ça et réessaye.

par niuxe » 29 juil. 2009, 17:37

Hello,

La mise en page de $messageHtml est comment ? À base d'élements table avec style en ligne ou en css ? Comment est l'affichage chez toi en local après soumission du formulaire ?

Formulaire mail qui ne fonctionne pas que sous mac...

par murdok » 29 juil. 2009, 15:56

Bonjour à tous,

voila j'utlise un script d'envoie de mail qui envoie les informations depuis flash à php. Aucun souci sur tout les clients mail excepter sur Mac mail qui affiche une page blanche!!
je ne vois pas ce qui cloche peut etre l'encodage du mail?
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 = nl2br($texte); // converti les retours  en <br />
        $texte = trim($texte); // élimine les '\n', '\r', '\t' etc
        return $texte;
}
 
$erreurPHP="";

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
{
	$to = "[email protected]";
	$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.' <'.$mailReponse.'>'."\n";
     $headers .= 'Return-Path: <'.$mailReponse.'>'."\n";
     $headers .= 'MIME-Version: 1.0'."\n";
     $headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\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);
}
?>
merci