Envoi formulaire vers email, en PHP

Fermé
metis15 Messages postés 466 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 27 novembre 2020 - 29 mai 2009 à 15:36
metis15 Messages postés 466 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 27 novembre 2020 - 29 mai 2009 à 22:26
Bonjour,
Je bataille avec un script d'envoi de form vers email.

A la ligne :
$headers .= "From: $email\r\n";
Je suis censé obtenir que le champ email du form, s'incrive comme étant la personne qui envoie le formulaire.
Avec des adresses du type xxxxxxxx@wanadoo.fr ou orange.fr, ça marche.
Avec des adresses du type xxxxx@free.fr, je reçois ceci :
------------------------
Content-type: text/plain; charset=iso-8859-1
From: xxxxxxxx@free.fr
Cc: xxxxxxxx@free.fr
Message-Id: <65642.4D761@90plan.ovh.net>
Date: Fri, 29 May 2009 08:56:42 +0200 (CEST)
X-Antivirus: avast! (VPS 090528-0, 28/05/2009), Inbound message
X-Antivirus-Status: Clean

Nicole xxxxxxxxx
Une demande de renseignement à été faite sur le site
www.xxxxxxxxxxxxx.fr
Cette demande va être traitée dans les meilleurs délais
Cordialement,
Nicole xxxxxxxxxxx

Contact demandé par :
Nom : test 29/5 8h48
Prénom : test 29/5 8h48
Email : xxxxxxxx@free.fr
Telephone : test 29/5 8h48
Objet :test 29/5 8h48
------------------------
...c'est à dire que ça commence avec un bout de l'entête...

Que se passe-t-il ?
(j'ai essayé différentes combinaisons pour le headers, ça marche jamais avec des adresses Free)

8 réponses

benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
29 mai 2009 à 16:01
Ta variable $email elle a quelle valeur (tu fais un echo $email;).

Montre nous ce qu'il y a avant, comment tu définis $email ? $_POST['email'] ??
0
metis15 Messages postés 466 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 27 novembre 2020 11
29 mai 2009 à 16:13
Le script :
-------------------
<?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=$_POST['nom'];
$prenom=$_POST['prenom'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];
$objet=$_POST['objet'];

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=\"iso-8859-1\"\r\n";
$headers .= "From: $email\r\n";
$headers .= "Cc: $email\r\n";
$headers .= "Bcc: xxxxxxxxx@orange.fr\r\n";

$subject="Contact Nicole Tonda Sophrologue";
$destinataire = 'castatrader@wanadoo.fr';

$body="Blabli-blabla\n\nContact demandé par :\nNom : $nom\nPrénom : $prenom\nEmail : $email\nTéléphone : $telephone\nObjet :$objet" ;
mail($destinataire, $subject, $body, $headers);
include("merci.php");
}
else
{
//captcha faux
include("erreur.php");
}
}
?>
-------------------
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
29 mai 2009 à 16:25
Tu peux nous montrer la source (header+body le tout) du mail que tu reçois (sous Thunderbird c'est du Affichage -> Code source du message ).
0
metis15 Messages postés 466 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 27 novembre 2020 11
29 mai 2009 à 16:35
Voilà l'email reçu :
------------------------------
From - Fri May 29 16:32:00 2009
X-Account-Key: account4
X-UIDL: 1243607489.30340.mrelay9-g25
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Return-Path: <bounce-id=D149=U21981.90plan.ovh.net=1243607482347149331@49.mail-out.ovh.net>
Delivered-To: online.fr-xxxxxx@free.fr
Received: (qmail 30311 invoked from network); 29 May 2009 14:31:29 -0000
Received: from mx9-g26.free.fr (HELO 49.mail-out.ovh.net) (212.27.42.48)
by mrelay9-g25.free.fr with SMTP; 29 May 2009 14:31:29 -0000
Received: from 49.mail-out.ovh.net ([213.251.143.20])
by mx-g20.free.fr (MXproxy) for xxxxxx@free.fr ;
Fri, 29 May 2009 16:31:29 +0200 (CEST)
Received: (qmail 15127 invoked by uid 0); 29 May 2009 14:31:26 -0000
Received: from gw1.ovh.net (HELO 90plan.ovh.net) (213.251.189.201)
by 49.mail-out.ovh.net with SMTP; 29 May 2009 14:31:22 -0000
Received: by 90plan.ovh.net (Postfix, from userid 21981)
id E5CD132B4A; Fri, 29 May 2009 16:31:26 +0200 (CEST)
To: uuuuuu@wanadoo.fr
Subject: Contact NC
MIME-Version: 1.0

Content-type: text/plain; charset="iso-8859-1"

From: xxxxxx@free.fr
Cc: xxxxxx@free.fr
Message-Id: <20090529143126.E5CD132B4A@90plan.ovh.net>
Date: Fri, 29 May 2009 16:31:26 +0200 (CEST)
X-Antivirus: avast! (VPS 090528-0, 28/05/2009), Inbound message
X-Antivirus-Status: Clean

xxxxxxxxxx
Une demande de renseignement à été faite sur le site
www.xxxxxxxxxxxxxxxxx.fr
Cette demande va être traitée dans les meilleurs délais
Cordialement,
NC

Contact demandé par :
Nom : test 29/5 10h36
Prénom : test 29/5 10h36
Email : xxxxxx@free.fr
Téléphone : test 29/5 10h36
Objet :test 29/5 10h36
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
29 mai 2009 à 16:44
J'ai l'impression que le problème vient du content type.
Essayes de le mettre à la fin des en-têtes ou de la supprimer pour voir si ça marche.

C'est à cause de la ligne vide entre le MIME-Version et le Content-Type qu'il t'affiche tout ce qui suit dans le body.
0
metis15 Messages postés 466 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 27 novembre 2020 11
29 mai 2009 à 19:03
J'ai neutralisé la ligne avec un //
Ca donne la même chose :
-----------------------
From: xxxxxx@free.fr
Cc: xxxxxxx@free.fr
Message-Id: <20090529165858.B5BBFC2FC@90plan.ovh.net>
Date: Fri, 29 May 2009 18:58:58 +0200 (CEST)
X-Antivirus: avast! (VPS 090528-0, 28/05/2009), Inbound message
X-Antivirus-Status: Clean


NC
Une demande de renseignement à été faite sur le site...etc...
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
29 mai 2009 à 21:59
ça bug qu'avec les adresses de chez Free ?
Ca me paraît bizarre quand même, une adresse mail qu'elles soient de chez Free ou de chez orange c'est la même chose.
Donc je pense que c'est la fonction mail qui bug, je vois pas trop comment régler ce problème.

Sinon il y a une autre solution, mais qui est beaucoup plus complexe, c'est d'uiliser des socket.

Mais je pense que le plus simple c'est de te renseigner auprès de ton hébergeur et de lui demander pourquoi la fonction mail ne marche pas avec les adresses de chez Free.
0
metis15 Messages postés 466 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 27 novembre 2020 11
29 mai 2009 à 22:26
Oui, avec les adresses @free.fr mais il y en a peut-être d'autres car autrement, je n'ai essayé que wanadoo, orange et un FAI en Nouvelle Calédonie (adresse en @mls.nc) qui marchent toutes.

Je vais donc poser la question chez OVH...
0