Problème mail html envoyé via php
Ben
-
Samy -
Samy -
Bonjour à tous,
J'ai fait des tas de recherches jusqu'alors, sur votre forum, ou sur d'autres sites. J'ai également testé des tas de synthaxes différentes y compris celle donnée sur php.net, mais sans succès.
Voila mon problème, j'ai un formulaire de demande de devis sur le site que je crée, et je veux que l'entreprise reçoive cette demande de devis sous une forme bien présentée, en HTML sans caractères spéciaux qui s'affichent bizarrement, mais rien a faire je n'obtiens jamais de résultat propre.
Voici mon script PHP :
Tous se passe bien, le script s'éxécute sans problème, mais voila, ce que je reçois n'est pas du tout ce qui est demandé :
Monsieur TEST ben, Societe : XXX Service : Bureau_etudes 5 lot le ville 05459 france Infos Supplementaires : Nombre de Salaries : 20-49 Secteur d'activite : Agro_Agri Tel : 0953458525 E-Mail : i.n@livre.ru TESTTESTDEMANDEDEVISéà ¨ùê
Je précise que je remplis le formulaire avec des infos bidons et des accents pour avoir tous les points de vue sous le nez.
J'ai également un autre soucis, quand je soumet mon formulaire sous firefox, celui ci éxécute bien le script alors que sous internet explorer, celui ci m'ouvre une boite de dialogue avec les options "Ouvrir", "Enregistrer", "Annuler".
J'aurais donc 2 questions :
Comment faire pour avoir un mail en HTML, sans soucis d'encodage (j'ai testé en mettant ISO-8859-1 et en UTF-8, même resultat) pour n'avoir aucune balise affichée, un mail propre quoi :) ?
Comment faire pour qu'Internet explorer éxécute le script (IE 7.0) ?
Le site n'étant pas encore en ligne, je teste mes pages et script a l'aide de Wamp 2.0, avec un php.ini bien configuré.
Merci a tous de vos réponses, que j'espere positives, j'ai été pris par le temps, et j'aimerais avoir une solution d'ici demain soir si possible.
Bonsoir à tous !
J'ai fait des tas de recherches jusqu'alors, sur votre forum, ou sur d'autres sites. J'ai également testé des tas de synthaxes différentes y compris celle donnée sur php.net, mais sans succès.
Voila mon problème, j'ai un formulaire de demande de devis sur le site que je crée, et je veux que l'entreprise reçoive cette demande de devis sous une forme bien présentée, en HTML sans caractères spéciaux qui s'affichent bizarrement, mais rien a faire je n'obtiens jamais de résultat propre.
Voici mon script PHP :
<?php $to = 'monmail@mail.com'; $devis_html = $_POST['devis']; $genre = $_POST['genre']; $prenom = $_POST['prenom']; $nom = $_POST['nom']; $societe = $_POST['societe']; $adresse=$_POST['adresse']; $cp = $_POST['CP']; $ville = $_POST['ville']; $pays = $_POST['pays']; $tel = $_POST['tel']; $mail = $_POST['mail']; $nbs = $_POST['nbre_salaries']; $service = $_POST['service']; $sectact = $_POST['secteur_activite']; $header = "From: \"Formulaire Devis\"<".$mail.'>'."\n"; $header .= 'Reply-to: \"JML\" <XX@XXXXXXXX.fr>'."\n"; $header .= 'MIME-Version: 1.0' . "\n"; $header .= 'Content-type: text/html; charset=iso-8859-1' . "\n"; $boundary = '-----='.md5(rand()); $sujet = 'Demande de devis (Site Internet)'; $devis = '<html><head></head><body>'.$genre.' '.$nom.' '.$prenom.', '."\n"; $devis .= 'Societe : '.$societe."\n"; $devis .= 'Service : '.$service."\n"; $devis .= $adresse."\n"; $devis .= $cp."\n"; $devis .= $ville."\n"; $devis .= $pays."\n"; $devis .= "\n".'Infos Supplementaires : '."\n"; $devis .= 'Nombre de Salaries : '.$nbs."\n"; $devis .= 'Secteur d\'activite : '.$sectact."\n"; $devis .= 'Tel : '.$tel."\n"; $devis .= 'E-Mail : '.$mail."\n"; $devis .= "\n".$devis_html.'</body></html>'."\n"; mail($to, $sujet, $devis, $header); header('location: merci_d.htm'); exit; ?>
Tous se passe bien, le script s'éxécute sans problème, mais voila, ce que je reçois n'est pas du tout ce qui est demandé :
Monsieur TEST ben, Societe : XXX Service : Bureau_etudes 5 lot le ville 05459 france Infos Supplementaires : Nombre de Salaries : 20-49 Secteur d'activite : Agro_Agri Tel : 0953458525 E-Mail : i.n@livre.ru TESTTESTDEMANDEDEVISéà ¨ùê
Je précise que je remplis le formulaire avec des infos bidons et des accents pour avoir tous les points de vue sous le nez.
J'ai également un autre soucis, quand je soumet mon formulaire sous firefox, celui ci éxécute bien le script alors que sous internet explorer, celui ci m'ouvre une boite de dialogue avec les options "Ouvrir", "Enregistrer", "Annuler".
J'aurais donc 2 questions :
Comment faire pour avoir un mail en HTML, sans soucis d'encodage (j'ai testé en mettant ISO-8859-1 et en UTF-8, même resultat) pour n'avoir aucune balise affichée, un mail propre quoi :) ?
Comment faire pour qu'Internet explorer éxécute le script (IE 7.0) ?
Le site n'étant pas encore en ligne, je teste mes pages et script a l'aide de Wamp 2.0, avec un php.ini bien configuré.
Merci a tous de vos réponses, que j'espere positives, j'ai été pris par le temps, et j'aimerais avoir une solution d'ici demain soir si possible.
Bonsoir à tous !
A voir également:
- Problème mail html envoyé via php
- Editeur html - Télécharger - HTML
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Mail delivery system - Forum Réseaux sociaux
- Envoyé de mon iphone - Guide
27 réponses
Les histoires de codage c'est horrible j'essaye en ce moment de faire un flux rss que je lis par iphone et le validateur est pas content a cause d'une histoire d'encodage des carractère T_T j'suis un pti stagiaire de 20ans j'ai le droit a l'erreur xD
bon alors je dirais a vu de nez de faire comme ca :
<?php
$to = 'monmail@mail.com';
$devis_html = $_POST['devis'];
$genre = $_POST['genre'];
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$societe = $_POST['societe'];
$adresse=$_POST['adresse'];
$cp = $_POST['CP'];
$ville = $_POST['ville'];
$pays = $_POST['pays'];
$tel = $_POST['tel'];
$mail = $_POST['mail'];
$nbs = $_POST['nbre_salaries'];
$service = $_POST['service'];
$sectact = $_POST['secteur_activite'];
$header = "From: \"Formulaire Devis\"<".$mail.'>'."\n";
$header .= 'Reply-to: \"JML\" <XX@XXXXXXXX.fr>'."\n";
$header .= 'MIME-Version: 1.0' . "\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$boundary = '-----='.md5(rand());
$sujet = 'Demande de devis (Site Internet)';
$devis = '<html><head></head><body>'.$genre.' '.$nom.' '.$prenom.', '."\n";
$devis .= 'Societe : '.$societe."\n";
$devis .= 'Service : '.$service."\n";
$devis .= $adresse."\n";
$devis .= $cp."\n";
$devis .= $ville."\n";
$devis .= $pays."\n";
$devis .= "\n".'Infos Supplementaires : '."\n";
$devis .= 'Nombre de Salaries : '.$nbs."\n";
$devis .= 'Secteur d\'activite : '.$sectact."\n";
$devis .= 'Tel : '.$tel."\n";
$devis .= 'E-Mail : '.$mail."\n";
$devis .= "\n".$devis_html.'</body></html>'."\n";
mail($to, $sujet, utf8_encode($devis), $header);
header('location: merci_d.htm');
exit;
?>
si ca marche pas montre l'erreur que tu as =o
bon alors je dirais a vu de nez de faire comme ca :
<?php
$to = 'monmail@mail.com';
$devis_html = $_POST['devis'];
$genre = $_POST['genre'];
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$societe = $_POST['societe'];
$adresse=$_POST['adresse'];
$cp = $_POST['CP'];
$ville = $_POST['ville'];
$pays = $_POST['pays'];
$tel = $_POST['tel'];
$mail = $_POST['mail'];
$nbs = $_POST['nbre_salaries'];
$service = $_POST['service'];
$sectact = $_POST['secteur_activite'];
$header = "From: \"Formulaire Devis\"<".$mail.'>'."\n";
$header .= 'Reply-to: \"JML\" <XX@XXXXXXXX.fr>'."\n";
$header .= 'MIME-Version: 1.0' . "\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$boundary = '-----='.md5(rand());
$sujet = 'Demande de devis (Site Internet)';
$devis = '<html><head></head><body>'.$genre.' '.$nom.' '.$prenom.', '."\n";
$devis .= 'Societe : '.$societe."\n";
$devis .= 'Service : '.$service."\n";
$devis .= $adresse."\n";
$devis .= $cp."\n";
$devis .= $ville."\n";
$devis .= $pays."\n";
$devis .= "\n".'Infos Supplementaires : '."\n";
$devis .= 'Nombre de Salaries : '.$nbs."\n";
$devis .= 'Secteur d\'activite : '.$sectact."\n";
$devis .= 'Tel : '.$tel."\n";
$devis .= 'E-Mail : '.$mail."\n";
$devis .= "\n".$devis_html.'</body></html>'."\n";
mail($to, $sujet, utf8_encode($devis), $header);
header('location: merci_d.htm');
exit;
?>
si ca marche pas montre l'erreur que tu as =o
Il te manque toujours le
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> dans ton mail... Je ne sais plus comment le dire
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> dans ton mail... Je ne sais plus comment le dire
lol ne te tire pas une balle le père ^^
notre curé te dis de faire ca:
$devis = '<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head><body>'.$genre.' '.$nom.' '.$prenom.', '."\n";
notre curé te dis de faire ca:
$devis = '<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head><body>'.$genre.' '.$nom.' '.$prenom.', '."\n";
C'est exactement ce que je viens de faire, alors je vous remet le script et l'email reçu :
Script :
Mail :
Monsieur fezfze fezfze, Societe : fezfze Service : Bureau_etudes fezfez fezfze fezfez fezf Infos Supplementaires : Nombre de Salaries : 1-19 Secteur d'activite : Armement Tel : 081561589 E-Mail : buifezfz@fezfze.fr Veuillez taper votre demanfazefaééde de devis ici..
Script :
<?php $to = 'XXX@XXXXXX.fr'; $devis_html = $_POST['devis']; $genre = $_POST['genre']; $prenom = $_POST['prenom']; $nom = $_POST['nom']; $societe = $_POST['societe']; $adresse=$_POST['adresse']; $cp = $_POST['CP']; $ville = $_POST['ville']; $pays = $_POST['pays']; $tel = $_POST['tel']; $mail = $_POST['mail']; $nbs = $_POST['nbre_salaries']; $service = $_POST['service']; $sectact = $_POST['secteur_activite']; $header = "From: \"Formulaire Devis\"<".$mail.'>'."\n"; $header .= 'Reply-to: \"JML\" <XX@XXXXX>'."\n"; $header .= 'MIME-Version: 1.0' . "\n"; $header .= 'Content-type: text/html; charset=iso-8859-1' . "\n"; $sujet = 'Demande de devis (Site Internet)'; $devis = '<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"></head><body>'.$genre.' '.$nom.' '.$prenom.', '."\n"; $devis .= 'Societe : '.$societe."\n"; $devis .= 'Service : '.$service."\n"; $devis .= $adresse."\n"; $devis .= $cp."\n"; $devis .= $ville."\n"; $devis .= $pays."\n"; $devis .= "\n".'Infos Supplementaires : '."\n"; $devis .= 'Nombre de Salaries : '.$nbs."\n"; $devis .= 'Secteur d\'activite : '.$sectact."\n"; $devis .= 'Tel : '.$tel."\n"; $devis .= 'E-Mail : '.$mail."\n"; $devis .= "\n".$devis_html.'</body></html>'."\n"; mail($to, $sujet, utf8_encode($devis), $header); header('location: merci_d.htm'); exit; ?>
Mail :
Monsieur fezfze fezfze, Societe : fezfze Service : Bureau_etudes fezfez fezfze fezfez fezf Infos Supplementaires : Nombre de Salaries : 1-19 Secteur d'activite : Armement Tel : 081561589 E-Mail : buifezfz@fezfze.fr Veuillez taper votre demanfazefaééde de devis ici..
Aucune amélioration, j'ai même perdu les passages a la ligne...
Au moins les balises html ne s'affichent plus tel quel, mais il me faut maintenant du passage a la ligne, et surtout des caractères correctement encodé...
Je voudrais abuser encore un peu de votre générosité en solicitant mon aide.. je dois présenter la plupart des fonctionnalités du site ce soir, et si j'ai un mail mal affiché comme ça, ça va pas le faire..
D'autres idées ?
Au moins les balises html ne s'affichent plus tel quel, mais il me faut maintenant du passage a la ligne, et surtout des caractères correctement encodé...
Je voudrais abuser encore un peu de votre générosité en solicitant mon aide.. je dois présenter la plupart des fonctionnalités du site ce soir, et si j'ai un mail mal affiché comme ça, ça va pas le faire..
D'autres idées ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
@le père :
Tout mon site est en UTF-8 oui ;), ce ISO-8859-1 venait d'un tuto que j'avais copié collé a l'aveugle comme un vulgaire novice.
Je viens de remettre l'utf-8 à l'endroit ou tu m'a dit de le mettre, les accents marchent =D !
Par contre, les passages a la ligne sont toujours perdus...
Un enorme merci pour les accents déjà =).
Tout mon site est en UTF-8 oui ;), ce ISO-8859-1 venait d'un tuto que j'avais copié collé a l'aveugle comme un vulgaire novice.
Je viens de remettre l'utf-8 à l'endroit ou tu m'a dit de le mettre, les accents marchent =D !
Par contre, les passages a la ligne sont toujours perdus...
Un enorme merci pour les accents déjà =).
+1 le père ca marche sans souci sans utf8_encode, de plus je pensais pas du tout a cette fonction a vrai dire (c'est mes récent scripts que j'ai fais pour donner a manger a flash qui m'ont troublé) mais plutot a html_entity()...
en copiant exactement le code que tu m'a donné, j'obtiens :
Monsieur fezfze fezfzefe, Societe : fezfze Service : Commercial fezfzeééé zafdzadédéd dé"dzédézd fez Infos Supplementaires : Nombre de Salaries : 50-99 Secteur d'activite : Services Tel : 1891641846 E-Mail : fezfze@fezfz.fr Veuillez taper votre demande de devis iezfzeci..