[PhP:>PhPMailer] Qui connait !!! G une erreur
P@
Messages postés
1137
Date d'inscription
Statut
Membre
-
gaby -
gaby -
Bonjour,
Dés que je met un doc joint ... j'ai le droit à Fatal error: Maximum execution time of 30 seconds exceeded PATH\class.smtp.php on line 361
Bien entendu je n'ai jamais touché à cette class ....
Par ailleurs, mon script marchait trés bien la semaine dernière ... et je n'ai pas touché à cela depuis ................
Mais voici mon code
Alors n'hésitez pas si vous voyer ce qui cloche ... parce que là ... je ne vois pas du tout ce qui peut mer**r !!!
Merci d'avance pour votre aide
--
..:::P@ ... a tras, a PoOf ou a chou :::..
Dés que je met un doc joint ... j'ai le droit à Fatal error: Maximum execution time of 30 seconds exceeded PATH\class.smtp.php on line 361
Bien entendu je n'ai jamais touché à cette class ....
Par ailleurs, mon script marchait trés bien la semaine dernière ... et je n'ai pas touché à cela depuis ................
Mais voici mon code
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.XXX.fr";
$mail->SMTPAuth = true;
$mail->Username = "XXX@XXX.fr";
$mail->Password = "";
$mail->From = "ZZZZZ@XXX.FR";
$mail->FromName = "YYYYY";
$mail->AddAddress($email);
$mail->AddReplyTo("XXX@XXX.fr", "Information");
$mail->WordWrap = 150;
if(!empty($pdfUp)){ // Test pour savoir si attachement il doit y avoir
$mail->AddAttachment($pdfUp);
}
$mail->IsHTML(false);
$mail->Subject = stripslashes($sujet);
$mail->Body = stripslashes($html);
$mail->AltBody = stripslashes($text);
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
$mail->ClearAddresses();
$mail->ClearBody();
$mail->SmtpClose();
unset($mail);
Alors n'hésitez pas si vous voyer ce qui cloche ... parce que là ... je ne vois pas du tout ce qui peut mer**r !!!
Merci d'avance pour votre aide
--
..:::P@ ... a tras, a PoOf ou a chou :::..
23 réponses
- 1
- 2
Suivant
-
Merci ..
Et oui, en effet ca merdouille uniquement ... ya juste une petite erreur que je viens de corriger mais ca n'affecte pas l'envoie de mail ...
@ bemain :D
Bonne soirée et merci pour ton aide -
Et $pdfUp, il a quelle valeur ?
Tu as utilisé combien de fois ton script depuis la semaine dernière ?
Là, il ne marche plus du tout ou alors ça marche de temps en temps ?
Bahan -
En fait, $pdfUp est l'emplacement de ma piece jointe ... et effectivement il fonctionne trés bien pourvue que cette variable soit vide :(
Aurais-je oublié de le spécifier ???
Bonne journée-
hihi couCoO :D
tiens j'ai trouvé ca , tout en bas y a un script d'exemple avec attachement de pièces jointes:
http://stephaneey.developpez.com/tutoriel/php/phpmailer/
Mais je pense que c'est ton test qui n'est pas bon, du coups, il essaye d'attacher une fichier avec un chemin non correct, et il se panne.
tu test avec empty(), mais t'as essayé avec un isset() ? ! (selon comment tu gères ton script...) et puis y a quoi dans c'te variable $jesaisplusquoiPDf ? t'as fait un echo pour voir ? !
Tell Me More :)
-
-
avec
if(isset($pdfUp)){ $mail->AddAttachment($pdfUp); }
Ca fait pareil ...
et avec un echo, j'ai bien le chemin relatif du pdf permettant de la joindre./Upload/News23-02-06--11-07.pdf
Je connais le liens que tu m'a envoyé... mais je ne vois pas différence entre ce qui est écrit et ce que je fait ...
En effet, le probléme vient peut être du test ... Mais il vient de 3 lignes, je pense
Ce ne serait pas mieux de passer hors class et de tout refaire ?? (c'est juste une question :D)
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
rectification, avec une piéce jointe ca ne semble pas marcher sur mes archives non plus !!!!
QUOI FAIRE :( -
Ce ne serait pas mieux de passer hors class et de tout refaire ?? (c'est juste une question :D)
Bah moi je la connaissait pas c'te classe et elle m'a l'air bien sympathique pourtant ... :)
Une question con : t'as essaye de tester l'envoi avec un adresse de fichier en dur ?/*if(!empty($pdfUp)){ // Test pour savoir si attachement il doit y avoir*/ $mail->AddAttachment("monImage.jpg"); /*}*/
comme ça ,ca$h, avec ton image dans le même répertoire, sans caractère relou genre les '-' qui peuvent le saouler,sans le test.... ? ! -
Bon, ca marche avec un doc en dur ...
Pour au fur et a mesure .. arriver vers un des pdf ...
Et effectivement ca plante dés qu'on arrive sur une News17-02-06--15-18.pdf mais le mail part ....
Qu'est qui ne saoule pas php ?? comment remplacer les -, j'ai essayer les . mais j'ai le même resultat :D
Si vous avez une idée je suis preneuse
-
Allez c'est bin car c'est toi ;)
$pdfUp="tartalalala-lalali-lala.jpg"; echo $pdfUp; // ecrit : tartalalala-lalali-lala.jpg $okay=$str_replace("-", "", $pdfUp); echo $okay; // ecrit : tartalalalalalalilala.jpg
donc il faut que tu renomms ton fichier au moment de l'upload comme ca et puis après il ne devrait plus y avoir tes '-' . . .
Mais je ne suis pas sur que ça soit ca...
Pour ce faire, je te conseil de tester encore en dur avec un :$mail->AddAttachment("mon-Image.jpg");
Histoire de voir si c'est bien les - qui merdent..; des fois aussi ca peut etre du au nom de fichier qui est trop long, du coup la fonction le coupe et ton nom de fichier ne ressemble plus à rien...
A voir. -
arrrrrrrrrrrrrrrrr
Bon, ca ne plante plus ... en dyna mique ... l'upload se fait bien ....
Mais fait sortir des erreur
Mais l'attachement ne se fait pas !!!
Je ne comprend pas -
Bon, j'ai trouvé une autre source de pb ...
Le doc avec lequel je testait été trop lourd (3Mo, j'avais po vu ;-( )
Donc ca c'est résolu ... sauf qu'au bout de 2 mails envoié il arrêtes ... alors qu'il doit pouvoir continuer de rouler !!!
Je ne comprend pas ... parce que c'est toujours avec la même erreur :(
Une idée ?? -
J'ai la sensation que mon souci maintenant et du a un manque d'optimisation.
Mais comment optimise-t-on une application et surtout un module ??
Y a t il des choses a oublier, pour ce concentrer sur des techniques qui utilisent moins de ressource ??
Comment savoir ??
Merci d'avance
-
Y a t il des choses a oublier, pour ce concentrer sur des techniques qui utilisent moins de ressource ??
Comment savoir ??
la pour ce qui est des ressources utilisées, ça je ne sais pas comment tester... mais je sais qu'il faut minimiser tout ce qui est boucle while, for, liberer l'espace mémoire après chque requete, connexion MySQL...
Pour ton mail ,tu ne l'enverrai pas en boucle par hasard ? !
Car si oui, je ne sais pas si ta class est oiptimisée pour le traitement de mail en masse... si c'est pour les même gens, fait le en copie cachée...- Pour info, j'ai trouvé ca ...
http://www.vulgarisation-informatique.com/optimiser-php.php
Ca ne répond pas à tout mais ca répond à quelques intérrogation :D
-
-
Oui, je l'envoie en boucle ...
Et ce n'est pas le même ... alors je ne peux pas remplir un cci :(
C'est pour ca que je optimiser ...
MAIS tout ce que j'ai fait est basé sur des While ou des For !!!!
Suis je dans la M***E ???
-
Suis je dans la M***E ???
P'tet pas jusqu'au cou, mais t'en a sous la semelle ;)
bin essaye de minimiser les boucles, si tu peux faire le traitement de 2 boucles en 1, bin fait =]
Sinon,c'est lourd car c'est un autre package, mais sur nexen ils disent
Pour envoyer de gros volumes de mails, reportez-vous aux paquets PEAR::Mail et PEAR::Mail_Queue .
Voilà... je compatis, c'est lourd ces moments la dans la prog...
Courage :D
-
-
oui, je connais ...
Mais j'arrive pas a faire de piéce jointe avec:(
-
j'en passe qu'un au lieu de 2 avant :(
Une autre idée ?? :D -
Et à chaque fois tu utilises comme objet le même ? i.e. mail il me semble, non ?
Pourtant, tu as l'air de bien l'unsetter à la fin... Zarb.
En fait, quand même, vu le message d'erreur, je dirais que ça sent la boucle infinie quelque part XD.
Tu peux nous mettre plus de codes là ?
Bahan -
Oui mais, dans ce cas, peut-être qu'il y a trop de création d'objets utilisant cette classe.
Fais voir plus de codes. Genre ce que tu nous as montré, c encerclé par une boucle for ? while ?
Bahan -
alors il y a
function envoie($sujet,$messagecenter,$pdfup,$serviceTotal,$newsid){ $QUERY = mysql_query("SELECT DISTINCT email,id,nom,prenom,fonction,nomOrganisation FROM envoie "); $RESULT = mysql_num_rows($QUERYecrRECIPIENT); $log=''; $x=0; WHILE($RESULT!=$x) { $NOM = mysql_result($QUERY,$x,"nom"); $PRENOM = mysql_result($QUERY,$x,"Prenom"); $NOMORGA = mysql_result($QUERY,$x,"nomOrganisation"); $email = mysql_result($QUERY,$x,"email"); $recipientID= mysql_result($QUERY,$x,"id"); $FONCTIONnom= mysql_result($QUERY,$x,"fonction"); $log[]= Array('ID'=> $recipientID,'NOM'=> $NOM,'PRENOM'=> $PRENOM,'MAIL'=> $email,'ORGANISATION'=> $NOMORGA); $message = Personalise($NOM,$PRENOM,$NOMORGA,$FONCTIONnom,$messagecenter); envoierMail($email,$sujet,$message,$message,$pdfup); $x++; } logMail ($log, $dateUp); }
etfunction envoierMail($email,$sujet,$html,$text,$pdfUp=''){ $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = "xxx.xxx.xx"; $mail->SMTPAuth = true; $mail->Username = "xxx@xx.xx"; $mail->Password = ""; $mail->From = "zzz@eee.ee"; $mail->FromName = "ZZZZZZ"; $mail->AddAddress($email); $mail->AddReplyTo("", "Information"); $mail->WordWrap = 150; $mail->IsHTML(true); $mail->Subject = stripslashes($sujet); $mail->Body = stripslashes($html); $mail->AltBody = stripslashes($text); if(isset($pdfUp)){ $mail->AddAttachment($pdfUp); } if(!$mail->Send()) { echo "Message could not be sent. <p>"; echo "Mailer Error: " . $mail->ErrorInfo; exit; } echo "j'ai un pdf !!"; $mail->ClearAddresses(); $mail->ClearBody(); $mail->SmtpClose(); unset($mail); } -
Me semble qu'il y a peut-être problème au niveau de ton exploitation des résultats de ta requête.
WHILE($RESULT!=$x)
Là, peut-être que ta fonction envoier_mail se prend des arguments nuls dans la tonche, non ?
Jette un oeil on sait jamais... ^_^
Bahan -
envoierMail($email,$sujet,$message,$message,$pdfup);
envoierMail est forcement plein, seul $pdfup peut être à '' mais dans ce cas il est initalisé ainsi plus haut ...
Tu pense que ca pourrait poser problème ??
Qu'est ce que je peut faire ?? -
Quand tu envoies des mails sans PJ, tu n'as aucun pb, c'est ça ?
Il n'y a que quand tu essaies d'envoyer des mails avec PJ que tu as des soucis ?
Vais aller choper ce soir la class et je testerai pour voir.
Bahan
- 1
- 2
Suivant