Fonction mail en php

Fermé
yaume - 28 mai 2009 à 20:22
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 - 29 mai 2009 à 13:03
Bonjour,

j'ai un petit soucis :
j'ai un site qui fonctionne parfaitement chez online en PHP3.
depuis quelques semaines la fonction mail ralentit considérablement mes scripts et parfois les bloques pour arriver à une page "internet ne peu affichier la page"

tout focntionnait tres bien avant et je n'ai rien changé.

je précise que les mails sont envoyés après un formulaire.

l'hébergeur est passé en PHP5, je suis resté en PHP3, la hotline me propose d'ajouter une ligne AddType application/x-httpd-php5 .php3 dans mon fichier .htaccess mais là les variables du formulaire sont perdues !

je suis perdu ! !

merci à tous... heureusement que vous êtes la !
A voir également:

5 réponses

benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
28 mai 2009 à 20:34
Tu peux nous donner la partie du code qui réceptionne les données ?
Les données sont envoyées en POST ou en GET ?
0
merci pour ta réponse,

je suis en method POST :
<form FORM NAME=fichier ENCTYPE=multipart/form-data ACTION='suitemail.php?trombi=$trombi' method='POST'>
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
28 mai 2009 à 20:54
Et la partie php ? (de : suitemail.php?trombi=$trombi)
Tu utilises une extension .php ou .php3 ?
Quand tu dis que ça ne marche pas, es-que le php s'exécute (un echo par exemple) ?

Sinon tu as testé sous firefox, car l'erreur "internet ne peux afficher la page" (je suppose que c'est sous IE), peut-être que firefox sera plus patient que IE et qu'il pourra d'afficher l'erreur généré par le serveur (du style Fatal error ..).
0
je n'ai que goolge chrome et ca ne fonctionne pas non plus (il reste bloqué sur une page blanche)
je recois bien le mail dans sa totalité qd meme (meme avec ie)

je fais appel à ma base sql et j'envoi le message :



$dtexte .="Message de : <b>$nom $prenom</b> $memo2mail \n";
$dtexte.="<br><br>";
$dtexte .="Adresse mail : $mail\n\n";
$dtexte.="<br><br>";

$dtexte.="A : $memomail\n";
$dtexte.="<br><br>\n";
$dtexte.="Adresse mail : $desti\n";
$dtexte.="<br><br>";
$dtexte.="<b>Objet : $objet\n";
$dtexte.="<br><br>";
$dtexte.=" Piece jointe : $lien\n</b>";


$dtexte.="<br><br><br>";
$texte=$dtexte.$texte;
$objet="Message envoyé par le site www.bdcfontainebleau.com";
$headers = "From: $mail\n";

$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1; boundary=\"$boundary\"";

$ff=compteurmail($adresse_email);
mail($adresse_email,$objet,$texte,$headers);








echo "<center>Votre message a bien été transmis, vous allez en recevoir une copie par e-mail.<br><br><font color='#990000'><b>ATTENTION !!!<br><br></b>Certaines boites (wanadoo.fr, orange.fr, hotmail.com, hotmail.fr) placent les mails en provenance de notre site en courrier indésirable.</center><a class='hue' href='javascript:history.go(-2)'>Retour";



je ne comprend vraiment pas !
0
je precise je suis en php3...erreur de frappe ! :)
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
28 mai 2009 à 21:15
Si le mail est transmis c'est que le script est bien exécuté. Je ne vois pas trop ou est le problème.
Es-que les en-têtes (header()) de la page sont modifiés ?

On peut faire un petit test si tu enlèves tout ce qui concerne l'envoie du mail es-que le echo fonctionne ?
Au pire tu fais une redirection avec header("Location: http://tonsite.com/email.php"); et dans email.php tu mets ton echo.
0
j'ai tout suprimé à ca :
<?
$dtexte .="Message de : <b>$nom $prenom</b> $memo2mail \n";
$dtexte.="<br><br>";
$dtexte .="Adresse mail : $mail\n\n";
$dtexte.="<br><br>";
$dtexte.="A : $memomail\n";
$dtexte.="<br><br>\n";
$dtexte.="Adresse mail : $desti\n";
$dtexte.="<br><br>";
$dtexte.="<b>Objet : $objet\n";
$dtexte.="<br><br>";
$dtexte.=" Piece jointe : $lien\n</b>";
$dtexte.="<br><br><br>";
$texte=$dtexte.$texte;
$objet="Message envoyé par le siteaaaaaa.com";
$headers = "From: $mail\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1; boundary=\"$boundary\"";
mail($adresse_email,$objet,$texte,$headers);
echo "<center>Votre message a bien été transmis, vous allez en recevoir une copie par e-mail.<br><br><font color='#990000'><b>ATTENTION !!!<br><br></b>Certaines boites (wanadoo.fr, orange.fr, hotmail.com, hotmail.fr) placent les mails en provenance de notre site en courrier indésirable.</center><a class='hue' href='javascript:history.go(-2)'>Retour";
?>



et ca rame toujours... je recois le mail mais je n'ai meme pas le message "votre message..."


en revanche si je supprime la ligne "mail($....." l'echo fonctionne parfaitement bien !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
29 mai 2009 à 13:03
Le problème vient peut-être du serveur smtp utilisé (voir dans la configuration d'apache).
Sinon tu demandes à ton hébergeur pourquoi la fonction mail est lente (si ils ont chargé le serveur smtp).

Essayes de remplacer ton echo par un header("Location: http://tonsie.com/tapage.html"); pour coire si tu peux rediriger tes visiteurs vers une page qui leur signale que leur mail est bien envoyé.
0