Problème formulaire mail
Ifryona
-
jjsteing Messages postés 1803 Statut Contributeur -
jjsteing Messages postés 1803 Statut Contributeur -
Bonjour,
Le formulaire de contact du site dont je m'occupe s'est mis à bugué du jour au lendemain, sans avoir subit aucune modification.
Il fait appel à une classe phpmailer, je ne sais pas si le problème peut venir de là...
Il fonctionnait très bien et puis depuis peu il bug ; lorsque l'on envoie un mail il ne part pas, et si on essaie de le renvoyer ànouveau ça semble fonctionner... C'est donc très aléatoire.
Auriez-vous une idée d'où cela peut venir ?
Merci par avance,
Ifryona.
Le formulaire de contact du site dont je m'occupe s'est mis à bugué du jour au lendemain, sans avoir subit aucune modification.
Il fait appel à une classe phpmailer, je ne sais pas si le problème peut venir de là...
Il fonctionnait très bien et puis depuis peu il bug ; lorsque l'on envoie un mail il ne part pas, et si on essaie de le renvoyer ànouveau ça semble fonctionner... C'est donc très aléatoire.
Auriez-vous une idée d'où cela peut venir ?
Merci par avance,
Ifryona.
A voir également:
- Problème formulaire mail
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Windows live mail - Télécharger - Mail
- Formulaire de reclamation instagram - Guide
- Formulaire de contact le bon coin introuvable - Forum Réseaux sociaux
8 réponses
bonjour,
Donc la fonction mail (phpmailer) en elle meme fonctionne... c'est juste l envoie qui est aléatoire...
Cela peut venir de ton hebergeur....
certains limites le nombre de mails que tu peux envoyer par heure/jour/semaine/mois...
contacte les pour savoir s il n y a pas ce genre de limitation ;)
Donc la fonction mail (phpmailer) en elle meme fonctionne... c'est juste l envoie qui est aléatoire...
Cela peut venir de ton hebergeur....
certains limites le nombre de mails que tu peux envoyer par heure/jour/semaine/mois...
contacte les pour savoir s il n y a pas ce genre de limitation ;)
Merci pour ta réponse !
Je les ai déjà contacter et ils m'ont dit que ça pouvait venir de ma classe php.mailer...
Le truc c'est qu'il n'y a eu aucun changement de mon côté, ni du côté de l'hébergeur et qu'avant tout fonctionnait très bien !
Encore plus étrange le premier envoie ne fonctionne pas mais si je ré-envoie ça fonctionne... Serait-ce le cas si ça viendrait d'une limites de mail ? Surtout qu'il n'y a pas non plus des envois énormes de mail via ce formulaire.
Ifryona.
Je les ai déjà contacter et ils m'ont dit que ça pouvait venir de ma classe php.mailer...
Le truc c'est qu'il n'y a eu aucun changement de mon côté, ni du côté de l'hébergeur et qu'avant tout fonctionnait très bien !
Encore plus étrange le premier envoie ne fonctionne pas mais si je ré-envoie ça fonctionne... Serait-ce le cas si ça viendrait d'une limites de mail ? Surtout qu'il n'y a pas non plus des envois énormes de mail via ce formulaire.
Ifryona.
re :)
quand tu écris :
Encore plus étrange le premier envoie ne fonctionne pas mais si je ré-envoie ça fonctionne...
tu fais F5 pour le ré-envoie ou tu reclique sur envoyer ??
quand tu écris :
Encore plus étrange le premier envoie ne fonctionne pas mais si je ré-envoie ça fonctionne...
tu fais F5 pour le ré-envoie ou tu reclique sur envoyer ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui biensûr ! Voilà le code du fichier où se fait l'appel à phpmailer ! Le message d'erreur que vous trouverez dans le code plus bas est celui qui s'affiche lorsque j'essaie d'envoyer un mail.
<?php
if (isset($_POST['nom'])){
extract($_POST);
$message=StripSlashes($message);
//CONTENU
$texte = "<table width='450' align='center' style='border:1px solid #CCD215;font-family: Verdana;font-size: 10px;color:#6A3800;background-color:#FFFFFF;'>";
$texte .="<tr><th style='border:1px solid #6A3800;background-color:#CCD215;'><span style='font-family: Verdana;font-size: 11px;color:#6A3800;'>Formulaire</span></th></tr>";
$texte .="<tr><td> <strong>Nom</strong> : ".$nom."</td></tr>";
$texte .="<tr><td> <strong>Prénom</strong> : ".$prenom."</td></tr>";
$texte .="<tr><td> <strong>E-mail</strong> : ".$email."</td></tr>";
$texte .="<tr><td> <strong>Téléphone</strong> : ".$telephone."</td></tr>";
$texte .="<tr><td> <strong>Entreprise</strong> : ".$entreprise."</td></tr>";
$texte .="<tr><td> <strong>Site</strong> : ".$site."</td></tr>";
$texte .="<tr><td> <strong>Message</strong> : ".$message."</td></tr>";
$texte .="</table><br><br>";
//echo $texte;
//exit();
include_once("../inclusion/class.phpmailer.php");
$mailer = new phpmailer();
$mailer->IsSMTP();
$mailer->Host = "localhost"; //en ligne
$mailer->Username = "bzzzz"; // SMTP username
$mailer->Password = "bzzzz"; // SMTP password
$mailer->Subject = "Envoi d'un formulaire depuis le site";
$mailer->From = $email;
$mailer->FromName = $prenom." ".$nom;
$mailer->AddAddress("contact@bzzzz.fr"); //mettre ici l'adresse de destination
$mailer->IsHTML(true);
$mailer->Body = $texte;
//@$mailer->Send();
if(!$mailer->Send()){
echo "<div align='center' style='margin-top:200px;color=#ff0000;'>";
echo "Erreur lors de l'envoi du mail ! <br><br> Nous vous prions de bien vouloir nous excuser et vous invitons à recommencer l'opération en <a href='bzzzz-nous-contacter.php'>cliquant ici</a>";
echo "</div>";
}
else{ //si le mail est bien parti
header("Location: bzzzz-mail-envoye.php");
}
}
else { //si la variable POST n'existe pas, on renvoie vers la page d'accueil
header("Location: ../index.php");
}
?>
bonjour,
desolé de ne pas avoir repondu plus tot...
tout d'abord, assure toi qu il passe bien le
if (isset($_POST['nom'])){...}
En principe, si ton wamp ou easyphp est bien configuré, tu ne devrais pas avoir besoin de ces 3 lignes :
$mailer->Host = "localhost"; //en ligne
$mailer->Username = "bzzzz"; // SMTP username
$mailer->Password = "bzzzz"; // SMTP password
De plus, apparemment, tu fais te"s test en local, hors, pour l envoie de mail, il vaut mieux tester directement en ligne car certaines fonctions ne sont pas forcement actives...
et vérifie que le chemin existe:
header("Location: bzzzz-mail-envoye.php");
je sais pas où est situé ce fichier dans ton site, mais si il est à la racine =>
header("Location: ../bzzzz-mail-envoye.php");
enfin, fait des essais pas à pas, c'est a dire en utilisant le moins de variables possibles:
essai d abord ca :
if (isset($_POST['nom'])){
extract($_POST);
$message="mon message";
//CONTENU
$texte="Mon Texte";
include_once("../inclusion/class.phpmailer.php");
$mailer = new phpmailer();
$mailer->IsSMTP();
$mailer->Host = "localhost"; //en ligne
$mailer->Username = "bzzzz"; // SMTP username
$mailer->Password = "bzzzz"; // SMTP password
$mailer->Subject = "Envoi d'un formulaire depuis le site";
$mailer->From = "monemail@me.com";
$mailer->FromName = "prenom nom";
$mailer->AddAddress("contact@bzzzz.fr"); //mettre ici l'adresse de destination
$mailer->IsHTML(true);
$mailer->Body = $texte;
//@$mailer->Send();
if(!$mailer->Send()){
echo "Erreur lors de l'envoi du mail !";
}
else{ //si le mail est bien parti
echo "Mail envoyé !";
}
}
else { //si la variable POST n'existe pas, on renvoie vers la page d'accueil
echo "Pas de Post";
}
?>
Donc si ca ca marche pas c'est que le probleme vient soit du post, dans ce cas, verifie que la page qui post est bien ecrite, à la rigueur, envoie nous une copie.. soit que
$mailer->Host = "localhost"; //en ligne
$mailer->Username = "bzzzz"; // SMTP username
$mailer->Password = "bzzzz"; // SMTP password
genere une erreur)
et si ca marche des le premier envoie, alors remet petit à petit le code original, et tu verra où ca plante ;)
desolé de ne pas avoir repondu plus tot...
tout d'abord, assure toi qu il passe bien le
if (isset($_POST['nom'])){...}
En principe, si ton wamp ou easyphp est bien configuré, tu ne devrais pas avoir besoin de ces 3 lignes :
$mailer->Host = "localhost"; //en ligne
$mailer->Username = "bzzzz"; // SMTP username
$mailer->Password = "bzzzz"; // SMTP password
De plus, apparemment, tu fais te"s test en local, hors, pour l envoie de mail, il vaut mieux tester directement en ligne car certaines fonctions ne sont pas forcement actives...
et vérifie que le chemin existe:
header("Location: bzzzz-mail-envoye.php");
je sais pas où est situé ce fichier dans ton site, mais si il est à la racine =>
header("Location: ../bzzzz-mail-envoye.php");
enfin, fait des essais pas à pas, c'est a dire en utilisant le moins de variables possibles:
essai d abord ca :
if (isset($_POST['nom'])){
extract($_POST);
$message="mon message";
//CONTENU
$texte="Mon Texte";
include_once("../inclusion/class.phpmailer.php");
$mailer = new phpmailer();
$mailer->IsSMTP();
$mailer->Host = "localhost"; //en ligne
$mailer->Username = "bzzzz"; // SMTP username
$mailer->Password = "bzzzz"; // SMTP password
$mailer->Subject = "Envoi d'un formulaire depuis le site";
$mailer->From = "monemail@me.com";
$mailer->FromName = "prenom nom";
$mailer->AddAddress("contact@bzzzz.fr"); //mettre ici l'adresse de destination
$mailer->IsHTML(true);
$mailer->Body = $texte;
//@$mailer->Send();
if(!$mailer->Send()){
echo "Erreur lors de l'envoi du mail !";
}
else{ //si le mail est bien parti
echo "Mail envoyé !";
}
}
else { //si la variable POST n'existe pas, on renvoie vers la page d'accueil
echo "Pas de Post";
}
?>
Donc si ca ca marche pas c'est que le probleme vient soit du post, dans ce cas, verifie que la page qui post est bien ecrite, à la rigueur, envoie nous une copie.. soit que
$mailer->Host = "localhost"; //en ligne
$mailer->Username = "bzzzz"; // SMTP username
$mailer->Password = "bzzzz"; // SMTP password
genere une erreur)
et si ca marche des le premier envoie, alors remet petit à petit le code original, et tu verra où ca plante ;)