Help! Une partie de mon code php saute sans raison!!

  • Auteur de la discussion Auteur de la discussion kokliko
  • Date de début Date de début
Nouveau WRInaute
Bonjour à tous,

Je me suis rendu compte de manière fortuite que la page contact de ma boutique en ligne avait un sérieux problème (?).

Une cliente m'a envoyé un mail directement car elle n'avait pas de réponse au formulaire validé 48 h auparavant : le-dit formulaire de contact apparait donc HS... Or, il fonctionnait parfaitement bien il y a 2 mois, je n'y ai pas touché, et l'arrêt total des contacts pendant la période estivale ne m'a pas surprise outre mesure.

J'ai jeté un oeil au code source de la page et remarqué qu'il manquait des lignes, toute la partie qui me permet de récupérer les contacts :

function envoiMail($from,$to,$objet,$message){
...
$message='Coordonnées : <br/>Nom : '.$_POST['Nom'].'<br/>Prénom : '.$_POST['Prenom'].'<br/>Adresse : '.$_POST['Adresse'].'<br/>Adresse2 : '.$_POST['Adresse2'] ; $message.='<br/>Code postal : '.$_POST['Codepostal'].

..............

Je viens donc de remettre en ligne la page php, bien complète... mais en vérifiant le contenu de cette page en ligne grâce au code source, j'ai constaté qu'il manquait toujours la même partie de code!!!

Pourquoi le code saute-t-il au moment de la mise en ligne?

Quelqu'un a-t-il une idée, siouplé?
Merci d'avance de vos avis éclairés!!!!!

Bonne journée,

Kokliko
 
WRInaute impliqué
Le code Php est interprété par apache sur ton serveur, et génère une source html lue par le navigateur. Dans le code source, il n'y a donc aucune trace de ton code php "brut", et c'est normal.
Si tu édites la page php sur ton serveur via ton logiciel ftp, je pense que tu devrais voir ta ligne de code bien présente :)
 
Nouveau WRInaute
D'accord, merci NxtGen, mais alors pourquoi mes tests de validation de formulaire ne sont pas envoyés du tout sur ma boîte mail? C'est bien là le problème... que je ne m'explique pas... :roll:
 
WRInaute accro
Tu as testé ton formulaire lors de sa mise en ligne ? Avec plusieurs navigateurs (IE6, IE7, Firefox, Chrome, Safari) ? Avec différents formats d'adresse emails ?
 
Nouveau WRInaute
Oui, j'ai testé le formulaire dès sa mise en ligne avec Explorer et Firefox... même (non-)résultat...

Je ne suis pas sûre que le format des adresses e-mails ait une importance... puisque depuis toujours j'ai testé ce formulaire en mettant une fausse adresse, type fh<sdkjfhl (!!), qui passait.

Par contre, est-il possible que quelqu'un (oserai-je dire... un concurrent?) ait cherché à bloquer mon formulaire sans que je m'en rende compte?
En effet il y a quelques semaines j'ai reçu coup sur coup 2 contacts complètement vides, ce qui n'est pas "autorisé" normalement, puisque j'ai mis des champs obligatoires!
 
Nouveau WRInaute
Bon, après de nouveaux tests (sous firefox et safari), il apparaît que quand on renseigne une vraie adresse mail ça marche... si c'est une .gmail.com... une .free.fr ne passe pas!! :|
 
WRInaute accro
kokliko a dit:
Bon, après de nouveaux tests (sous firefox et safari), il apparaît que quand on renseigne une vraie adresse mail ça marche... si c'est une .gmail.com... une .free.fr ne passe pas!! :|

? Je ne suis pas sûr de comprendre. Une adresse mail en @gmail.com ou en @free.fr est une vraie adresse mail.
 
Nouveau WRInaute
pardon :oops: , je voulais dire qu'avec une adresse en .gmail.com, ça marche....
mais qu'avec une adresse en .free.fr, ça ne marche pas.
 
Nouveau WRInaute
Argh, je viens de réessayer avec d'autres adresses en .gmail.com et ça ne marche pas non plus... à part ma propre adresse, rien ne passe :x
 
WRInaute accro
kokliko a dit:
Argh, je viens de réessayer avec d'autres adresses en .gmail.com et ça ne marche pas non plus... à part ma propre adresse, rien ne passe :x

Dans ce cas le souci vient donc de ton code qui envoie le mail. Tu peux nous montrer comment tu t'y prends pour récupérer les données postées via le formulaire afin de les envoyer par mail ?
 
Nouveau WRInaute
spout a dit:
Par hasard, ce n'est pas un problème de SPF?
http://fr.wikipedia.org/wiki/Sender_Policy_Framework
http://www.openspf.org/

(Ne m'en demande pas plus, j'ai eu des problèmes avec mon dédié et hotmail, j'ai dû mettre un enregistrement SPF et activer le reverse pour que ça fonctionne, à part ça je n'y connais pas grand chose)

Merci Spout, c'est une piste intéressante... mais j'avoue que je n'y comprends pas grand chose, au SPF.
Et puis ça marchait très bien avant... Je n'ai pas touché au code...

Mais bon, je reviendrai sur ta suggestion.
Merci
 
Nouveau WRInaute
UsagiYojimbo a dit:
Dans ce cas le souci vient donc de ton code qui envoie le mail. Tu peux nous montrer comment tu t'y prends pour récupérer les données postées via le formulaire afin de les envoyer par mail ?

Alors, je crée mon formulaire en html, et je programme le bouton "envoyer" vers une page de validation en php pour confirmer au visiteur que "la demande a bien été prise en compte"...

Sur cette nouvelle page en php, ma fonction se présente comme suit :

Code:
<?php
function envoiMail($from,$to,$objet,$message){
	$mail_mime = "Organization: MonOrganisation\n";
	$mail_mime .= "From: $from <$from>\n";
	$mail_mime .= "Reply-To: $from\n";
	$mail_mime .= "Return-Path: <$from>\n";
	$mail_mime .= "X-Sender: <$from>\n";
	$mail_mime .= "MIME-Version: 1.0\n";
	$mail_mime .= "Content-Type: text/html; charset=\"utf-8\"\n ";
	$mail_mime .= "Content-Transfer-Encoding: 8bit\n";
	if(mail($to, $objet, $message, $mail_mime)){
		return true;
	}else{
		return false;
	}
}

	$message='Coordonnées : <br/>Nom : '.$_POST['Nom'].'<br/>Prénom : '.$_POST['Prenom'].'<br/>Adresse : '.$_POST['Adresse'].'<br/>Adresse2 : '.$_POST['Adresse2'] ;	$message.='<br/>Code postal : '.$_POST['Codepostal'].'<br/>Ville : '.$_POST['Ville'].'<br/>Téléphone : '.$_POST['Telephone'].'<br/>E-mail : '.$_POST['E-mail'].'<br/><br/>Demande : <br/>Créa seule : '.$_POST['Creaseule'].'<br/>Créa + impression : '.$_POST['Creaimpression'].'<br/>Modèle souhaité :.$_POST['Modele'].'<br/>Quantité souhaitée : '.$_POST['Combien'].'<br/>Message : '.$_POST['Message'].'<br/>Comment : '.$_POST['Comment'];
	if(envoiMail($_POST['E-mail'], 'monmail@gmail.com','Contact',$message)){ ?>
	<h5 class="centrage">Votre demande a bien été prise en compte.</h5>
    <?php
    }else{ ?>
	<h5 class="centrage">Oups! Une erreur est survenue... <br />
    Merci de recommencer la saisie des informations.</h5>
	<?php
    }
	?>

Je ne sais pas si c'est très clair... mais normalement je dois recevoir un mail à chaque validation de formulaire, qui reprend sous forme de petite liste les différents champs du formulaire.
 
Nouveau WRInaute
bon, je teste, et je reteste, et il apparait que seules passent les adresses en .gmail.com, qui existent... voire, qui sont dans mon carnet d'adresse :?

Je pige pas!!
 
WRInaute accro
Nouveau WRInaute
Merci beaucoup de chercher à m'aider, Spout.
Je suis désolée, j'ai vraiment du mal à tout suivre... :oops:

Au lancement de mon site, j'étais chez free, et j'ai basculé chez ovh en mai.
Tu penses que mon formulaire a pu être détourné sciemment faute de protection?
Donc ça ne sert à rien de le recommencer proprement... ?
Il faut que je le protège... donc la solution serait dans le dernier lien que tu as mis?

Oh la la, c'est vraiment... désespérant... :(

Merci encore et bonne soirée.
 
WRInaute occasionnel
Hello,

c'est pas ton formulaire le problème, c'est ton serveur de mail.

Une partie du courrier envoyé n'est pas acceptée par les serveurs destinataires. Pas de parano, personne n'a détourné ton script.

Il faut trouver les logs du serveur mail et regarder pourquoi les envois ont été refusés. Tu as peut-être été blacklisté, ou tu as récupéré une adresse IP blacklistée.

à plus
 
WRInaute passionné
Hello,

1) tu peux consulter tes Rapport d'erreurs dans ton manager ovh rubrique hébergement / Suivi Emails Automatisés, voir également purger les messages en erreur.

2) faire un envoi vers une adresse .gmail .free et une adresse hébergée vers ovh, noter l'heure et faire un ticket au support en leur communiquant les infos si elles ne parviennent pas aux destinataires.
 
Nouveau WRInaute
Salut, j'ai jeté un oeil comme vous me l'avez suggéré sur mon manager chez OVH, l'hébergeur du site (catégorie "hébergement" > "suivi des e-mails") , et j'obtiens la fenêtre qui suit :

Suivi des Emails (WEB)

État du compte
Messages envoyés : 62
Statut : Envois acceptés
Messages en erreur : 0
Rapport d'erreurs sur : Vide


Donc apparemment pour mon hébergeur aucun mail n'est coincé?
Vous pensez que je dois lui signaler le problème?

Bruno212, comment récupérer les logs du serveur mail?

Merci...
 
WRInaute accro
il faut voir si ton domaine ne se trouve pas sur la liste des ndd blacklistés, liste utilisée par pas mal d'antivirus et webmail
 
Nouveau WRInaute
Merci pour votre aide.
Le problème semble résolu...
Gmail ayant revu son degré de protection sans prévenir, les contacts validés par mon fichier php arrivaient normalement sous forme de mail... mais dans les spams. :oops:
Merci Druart pour ta clairvoyance...
 
Discussions similaires
Haut