Envoi formulaire vers email, en PHP
metis15
Messages postés
465
Date d'inscription
Statut
Membre
Dernière intervention
-
metis15 Messages postés 465 Date d'inscription Statut Membre Dernière intervention -
metis15 Messages postés 465 Date d'inscription Statut Membre Dernière intervention -
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)
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)
A voir également:
- Envoi formulaire vers email, en PHP
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Comment creer un compte email - Guide
- Votre envoi est en cours d'acheminement vers le site de distribution. - Forum Consommation & Internet
- Formulaire de reclamation instagram - Guide
8 réponses
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'] ??
Montre nous ce qu'il y a avant, comment tu définis $email ? $_POST['email'] ??
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");
}
}
?>
-------------------
-------------------
<?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");
}
}
?>
-------------------
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 ).
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
------------------------------
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
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...
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...
ç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.
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.