OVH Cloud OVH Cloud

Souci avec l'envoi d'un form sur email

5 réponses
Avatar
METIS
Bonjour,
sur un site donné, ce truc qui marche d'habitude, ne marche
pas très bien.

http://www.sba-developpement-ressources.fr/test.php

Ca n'envoie pas l'email à tous les coups !
Ca vient peut-être de mon IE...?
Je suis en XPpro-sp2, IEsp2.

Et si je ne reçois pas l'email, je ne le reçois jamais.
Si je reçois, c'est quasi instantané !

En fait, c'est quand j'utilise le préremplissage automatique
des champs avec ce qui a été écrit précédemment. Si je
remets la même chose, là ça n'envoie pas l'email. Si je
change de nom pour le test, ça envoie l'email.
Ca le fait sur PC avec IE, Firefox, et sur Mac avec Safari.

Y a-t-il une embrouille connue au niveau de ce genre de pb ?

Le script :
(j'en ai essayé un autre, ça fait pareil)

<?php
extract($_POST,EXTR_OVERWRITE);
$msg = "Nom:\t$nom\n";
$msg .= "E-mail:\t$email\n";
$msg .= "Téléphone:\t$telephone\n";
$msg .= "Objet:\t$objet\n";
$recipient = "sba.infos@free.fr";
$subject = "Information SBA";
$mailheaders = "From: Site SBA<> \n";
$mailheaders .= "Reply-To: metis15@wanadoo.fr\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "mail envoyé <br />";

echo $msg;

?>


--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...

5 réponses

Avatar
Thibaut Allender
On 30/07/2006 21:00, METIS wrote :
mail($recipient, $subject, $msg, $mailheaders);



$var = mail($recipient, $subject, $msg, $mailheaders);

echo "mail envoyé <br />";



if ($var) echo "mail envoyé <br />";

Le meilleur moyen de savoir si le mail part du serveur, c'est de tester
si effectivement il part, puisque la fonction mail() le permet...

Si le script affiche "mail envoyé" on peut supposer qu'il part.

S'il n'arrive pas, voir du côté d'éventuels filtres qui empêcheraient sa
réception, et surtout définir un return-path valide (voir
http://be2.php.net/manual/fr/function.mail.php ) afin de récupérer
l'éventuel message d'erreur généré lors de la réception.

Au passage, le from vide, c'est pas génial...

--
thibaut allender | http://capsule.org | http://photo.capsule.org
Avatar
METIS
Thibaut Allender wrote:
On 30/07/2006 21:00, METIS wrote :
mail($recipient, $subject, $msg, $mailheaders);



$var = mail($recipient, $subject, $msg, $mailheaders);

echo "mail envoyé <br />";



if ($var) echo "mail envoyé <br />";

Le meilleur moyen de savoir si le mail part du serveur,
c'est de tester si effectivement il part, puisque la
fonction mail() le permet...

Si le script affiche "mail envoyé" on peut supposer qu'il
part.



J'ai fait 10 tests, j'ai "mail envoyé" à chaque fois...
J'en ai 3 sur 10 qui n'arrivent pas...
Des filtres ??? Où ça ?
Ca me fait le coup sur PC et IE ou Firefox, reception avec
OE et sur Mac avec Safari et reception sur Mail.
Ca serait des filtre à quel niveau ?

Sinon, je crains un problème chez Nuxit car ce même script
marche très bien sur des site hébergés ailleurs.

S'il n'arrive pas, voir du côté d'éventuels filtres qui
empêcheraient sa réception, et surtout définir un
return-path valide (voir
http://be2.php.net/manual/fr/function.mail.php ) afin de
récupérer l'éventuel message d'erreur généré lors de la
réception.




Je vais voir d'après ce que tu me dis ci-dessus.

Au passage, le from vide, c'est pas génial...



Yes, c'est en test, je dois ajouter des truc.

Merci pour ces pistes !!

--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...
Avatar
METIS
Thibaut Allender wrote:
[...]

Pour tout te dire, cela se produit principalement lorsque je
fais une série de test en inscrivant ce qui vient
automatiquement dans le champs quand on commence à le
remplir. Je laisse la même chose sans changer de texte...
En général, si je mets un autre nom, une autre adresse,
etc., ça marche à tous les coups...!

Ce qui me semble encore plus étrange !!

--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...
Avatar
Thibaut Allender
On 30/07/2006 23:50, METIS wrote :
En général, si je mets un autre nom, une autre adresse,
etc., ça marche à tous les coups...!



Soit tu as un filtre email à la réception qui considère que c'est du
spam vu que tu viens de recevoir exactement le même mails quelques
secondes/minutes avant, soit ton cache est bizarrement réglé... (jamais
vu un problème de cache en POST, ceci dit...)

Il se peut aussi que le filtre se trouve au niveau du SMTP qui gère la
distribution des mails juste après le serveur http lui même. Pour
tester, mets simplement deux fois la fonction "mail()" (avec des
arguments strictement identiques) dans le même script et exécute le. Si
tu ne reçois qu'un seul mail, il y a toutes les chances pour que je sois
dans le vrai.

--
thibaut allender | http://capsule.org | http://photo.capsule.org
Avatar
METIS
Thibaut Allender wrote:
On 30/07/2006 23:50, METIS wrote :
En général, si je mets un autre nom, une autre adresse,
etc., ça marche à tous les coups...!



Soit tu as un filtre email à la réception qui considère
que c'est du spam vu que tu viens de recevoir exactement
le même mails quelques secondes/minutes avant, soit ton
cache est bizarrement réglé... (jamais vu un problème de
cache en POST, ceci dit...)



Je fais les test avec OE équipé de SpamPal, mais comme ça le
fait aussi sur le Mac avec Safari et Mail, ça vient pas de
chez moi le problème ?

Il se peut aussi que le filtre se trouve au niveau du
SMTP qui gère la distribution des mails juste après le
serveur http lui même. Pour tester, mets simplement deux
fois la fonction "mail()" (avec des arguments strictement
identiques) dans le même script et exécute le. Si tu ne
reçois qu'un seul mail, il y a toutes les chances pour
que je sois dans le vrai.



Oui... (je ne m'y connais pas assez pour juger).
Donc j'ai fait ce que tu dis, j'ai doublé la ligne mail(),
je reçois 2 fois les infos...

--
<|[;o)) METIS
http://www.graphM.com
Remplacer wawamoo par ce qu'il faut...