script emailer qui marche pas bien
Posté : 28 mai 2009, 14:13
Envoyer ses form par email en PHP, surtout quand on ne connait rien au php !!
Soit le script avec captcha suivant :
Ca marche à peu près.
Le visiteur remplit le form et marque son email ($email)
Le propriétaire du site reçoit les données du form :
$destinataire="[email protected]";
Moi (le "webmaster" qui connait rien au php(;o))) je reçois une copie cachée :
$headers .= 'Bcc: [email protected]'."\n";
Problèmes :
l'email reçu par la personne qui remplit le form, donne ceci :
------------------------
Content-type: text/plain; charset=UTF-8
From: <[email protected]>
Cc: <[email protected]>
Message-Id: <[email protected]>
Date: Thu, 28 May 2009 08:49:27 +0200 (CEST)
X-Antivirus: avast! (VPS 090527-0, 27/05/2009), Inbound message
X-Antivirus-Status: Clean
Site la dame :
Vous avez envoyé une demande de renseignement sur le site
www.sitedeladame.fr
Nous allons répondre à vos souhaits dans les meilleurs délais
Cordialement,
La dame
Vous etes :
Nom : test
Prenom : test
Email : [email protected]
Telephone : test
Objet :...quelques problèmes avec les lettres accentuées...
------------------------
- Donc il y a cet espèce d'entête que je sais pas d'où ça sort...
- Le problème avec les accentuées
-Impossible d'avoir des accents corrects en même temps sur "Vous etes, Prenom, telephone..." et sur le résultat tapé par le visiteur. Quand c'est bon d'un côté, c'est pas bon de l'autre.
- Les deux autres emails, envoyés à la dame du site et à moi, ils vont bien...!
C'est un peu long, désolé.
Si quelqu'un peu me dire qq chose... Grand merci.[/code]
Soit le script avec captcha suivant :
Code : Tout sélectionner
<?php
header('Content-Type: text/html; charset=UTF-8');
extract($_POST,EXTR_OVERWRITE);
if(isset($_POST['captchaResult']))
{
session_start();
$_POST['captchaResult'] = strtolower($_POST['captchaResult']);
$_SESSION['captchaResult'] = strtolower($_SESSION['captchaResult']);
if($_POST['captchaResult'] === $_SESSION['captchaResult'])
{ //captcha OK on envoi le message
$nom=$HTTP_POST_VARS['nom'];
$email=$HTTP_POST_VARS['email'];
$headers = "MIME-Version: 1.0\r\n";
$headers .= 'Content-type: text/plain; charset=UTF-8'."\n";
$headers .= 'From: <'.$email.'>'."\n";
$headers .= 'Cc: <'.$email.'>'."\n";
$headers .= 'Bcc: [email protected]'."\n";
$subject="Contact la personne sonemailun";
$destinataire="[email protected]";
$body="Ici, le message\n\nVous etes :\nNom : $nom\nPrenom : $prenom\nEmail : $email\nTelephone : $telephone\nObjet :$objet" ;
mail($destinataire, $subject, $body, $headers);
include("merci.php");
}
else
{
//captcha faux
include("erreur.php");
}
}
?>Le visiteur remplit le form et marque son email ($email)
Le propriétaire du site reçoit les données du form :
$destinataire="[email protected]";
Moi (le "webmaster" qui connait rien au php(;o))) je reçois une copie cachée :
$headers .= 'Bcc: [email protected]'."\n";
Problèmes :
l'email reçu par la personne qui remplit le form, donne ceci :
------------------------
Content-type: text/plain; charset=UTF-8
From: <[email protected]>
Cc: <[email protected]>
Message-Id: <[email protected]>
Date: Thu, 28 May 2009 08:49:27 +0200 (CEST)
X-Antivirus: avast! (VPS 090527-0, 27/05/2009), Inbound message
X-Antivirus-Status: Clean
Site la dame :
Vous avez envoyé une demande de renseignement sur le site
www.sitedeladame.fr
Nous allons répondre à vos souhaits dans les meilleurs délais
Cordialement,
La dame
Vous etes :
Nom : test
Prenom : test
Email : [email protected]
Telephone : test
Objet :...quelques problèmes avec les lettres accentuées...
------------------------
- Donc il y a cet espèce d'entête que je sais pas d'où ça sort...
- Le problème avec les accentuées
-Impossible d'avoir des accents corrects en même temps sur "Vous etes, Prenom, telephone..." et sur le résultat tapé par le visiteur. Quand c'est bon d'un côté, c'est pas bon de l'autre.
- Les deux autres emails, envoyés à la dame du site et à moi, ils vont bien...!
C'est un peu long, désolé.
Si quelqu'un peu me dire qq chose... Grand merci.[/code]