Rechercher : dans
Par :

Envoi formulaire vers email, en PHP

Dernière réponse le 29 mai 2009 à 22:26:42 metis15, le 29 mai 2009 à 15:36:20 
 Signaler ce message aux modérateurs

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)

Configuration: Windows XP
Firefox 3.0.8

Meilleures réponses pour « Envoi formulaire vers email, en PHP » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

benvii, le 29 mai 2009 à 16:01:43

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'] ?? Benvii

Répondre à benvii

2

metis15, le 29 mai 2009 à 16:13:00

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");
}
}
?>
-------------------

Répondre à metis15

3

benvii, le 29 mai 2009 à 16:25:05

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 ). Benvii

Répondre à benvii

4

metis15, le 29 mai 2009 à 16:35:52

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

Répondre à metis15

5

benvii, le 29 mai 2009 à 16:44:50

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. Benvii

Répondre à benvii

6

metis15, le 29 mai 2009 à 19:03:56

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...

Répondre à metis15

7

benvii, le 29 mai 2009 à 21:59:31

ç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. Benvii

Répondre à benvii

8

 metis15, le 29 mai 2009 à 22:26:42

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...

Répondre à metis15
Collection CommentÇaMarche.net