begin process at 2012 05 30 16:11:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Mail php ok sous outlook mais pas ailleurs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mail php ok sous outlook mais pas ailleurs

mardi 25 septembre 2007 à 21:59:57 | Mail php ok sous outlook mais pas ailleurs

kaochris

Bonsoir,

j'ai un énorme problème php et après beaucoup de tests et recherches je ne parviens toujours pas à la résoudre.
Ce week end en fouillant sur le net, j'ai suivi un tutoriel qui m'a permis de créer un fichierphp qui génère un mail depuis des données reçues d'un formulaire en flash. Une fois terminé, un mail de ocnfirmation doit être reçu par la personne qui l'a remplit.
Dans le code suivant, le mail arrive impeccablement, mis en forme comme je le souhaite. Cela dis, dans certains mail readers, le message apparait blanc... Je ne trouve aucune solution. Dans mon outlook tout arrive parfaitement, mais pas dans un client comme "mail" sur MacOs ou le mail arrive vide.

Pourriez vous m'aider svp ?

C'est un peu à double tranchant comme je ne suis pas du tout habitué à php, juste suivi un tutoriel sur mediabos en adaptant  à mon cas

Merci d'avance,

kaochris

voici le code php

<?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']))$messageText = $_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(isset($_POST['recipient']))$mailReponse = $_POST['recipient'];
else $erreurPHP .= "Variable 'recipient' non transmise\n";

 
if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP);
else
{
 $to = decoder($recipient);
 $sujet = decoder($sujet);
 $expediteur = decoder($expediteur);
 $messagehtml = decoder($messageHtml);
 $messageText = utf8_decode($messageText);
 
  //-----------------------------------------------
     //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 .= $messageText."\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);
}
?>

mercredi 26 septembre 2007 à 18:09:25 | Re : Mail php ok sous outlook mais pas ailleurs

Evangun

Hello,

dsl je ne vais pas lire ton code, mais ton pb vient très certainement des headers. essaie par exemple \r\n au lieu de \n.
mercredi 26 septembre 2007 à 19:12:07 | Re : Mail php ok sous outlook mais pas ailleurs

kaochris

Réponse acceptée !
Hello,

merci, entre temps j'ai trouvé

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

devait devenir

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

et depuis ça fonctionne nickel

merci


Cette discussion est classée dans : message, mail, texte, post, erreurphp


Répondre à ce message

Sujets en rapport avec ce message

Problème de code dans un formulaire [ par gateau ] Bonjour,Je suis on ne peut plus novice en PHP, grâce à des tutoriaux j'ai pu créer un formulaire dans une int Mail en PHP [ par jaco13 ] Bonjour!J'ai fait un site de voitures d'occasion qui se trouve sur www.autos-occasions.org J'ai un problème sur la page "occasions" car j'ai fait un l Pb, Formulaire / Mail [ par MaSenCo ] Bonjour,Je viens de mettre un formulaire / mail sur mon site, et j'ai un petit problème avec la fonction mail, c'est à dire que je reçois bien le mail Mail avec plusieurs destinataires [ par Anthotill ] Bonjour à tousJ'ai un petit soucis avec mon formulaire multi destinataire dans mon espace membre.En effet, malgré le fait que je choisisse deux (ou pl probleme de formulaire [ par toonorken ] bonjour,j utilise le formulaire ci dessous sur mon site internet. Le probleme c est que le message qui doit apparaitre lorsque le formulaire est mal r renvoyer un message vers plusieurs adresses mail. [ par camdev ] Bonjour,Je suis complétement débutant en php, et j'aurais besoin de votre aide. En remplissant un formulaire flash, les données sont renvoyées vers mo Suprimmer var POST [ par michmichman ] Alors mon souci c'est que j'ai une page avec un formulaire qui est traité sur cette même page, quand l'utilisateur la recharge les variables POST sont Affichage des balises HTML à la réception d'un mail [ par gregou9 ] J'ai un probléme quand je lance ma fonction mail, à la reception du mail toutes mes balises html s'affichent!voici mon code:  $destinataire="destinata valider un captcha [ par philclimb ] Bonjour;J'ai réaliser un formulaire de mail que je veux placer dans la page "contact" de mon site.Pour éviter les vilains spams j'ai placé un captcha, Redirection après l’envoi mail [ par theyas ] Salut J'ai un problème sur mon formulaire d'envoi des mail .Je vais redirection sur la mem page de la formulaire et afficher une message javacript mai


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales