Rechercher : dans
Par :

[PhP:>PhPMailer] Qui connait !!! G une erreur

Dernière réponse le 28 jan 2008 à 18:33:28 P@, le 22 fév 2006 à 16:21:47 
 Signaler ce message aux modérateurs

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

	$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 :::..

Meilleures réponses pour « [PhP:>PhPMailer] Qui connait !!! G une erreur » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Cacher les erreurs en PHP VoirRappelons avant toute chose, qu'il est toujours préférable, dans n'importe quel langage de programmation, de corriger les problèmes qui déclenchent les erreurs, avant d'essayer de masquer les erreurs. En effet, le fait de masquer les erreurs...

1

B@|-|@N, le 22 fév 2006 à 17:50:50

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 Close the world.||.txen eht nepO

Répondre à B@|-|@N

2

P@, le 23 fév 2006 à 09:30:22

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 ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

3

Zep3k!GnO, le 23 fév 2006 à 11:02:47

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 :) Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

4

P@, le 23 fév 2006 à 11:11:30

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)
..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

5

P@, le 23 fév 2006 à 11:27:30

Rectification, avec une piéce jointe ca ne semble pas marcher sur mes archives non plus !!!!

QUOI FAIRE :( ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

6

Zep3k!GnO, le 23 fév 2006 à 11:30:10

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.... ? ! Zep3k!GnO
On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

7

P@, le 23 fév 2006 à 11:46:28

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
..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

8

Zep3k!GnO, le 23 fév 2006 à 11:55:24

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. Zep3k!GnO
On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

9

P@, le 23 fév 2006 à 12:07:02

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 ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

10

P@, le 23 fév 2006 à 12:34:24

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 ?? ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

11

P@, le 23 fév 2006 à 14:27:07

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
..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

12

Zep3k!GnO, le 23 fév 2006 à 14:55:49

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... Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

18

P@, le 23 fév 2006 à 15:37:34

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 ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

13

P@, le 23 fév 2006 à 14:58:20

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 ???
..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

14

Zep3k!GnO, le 23 fév 2006 à 15:04:07

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 Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

15

P@, le 23 fév 2006 à 15:06:44

Oui, je connais ...
Mais j'arrive pas a faire de piéce jointe avec:(
..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

16

Zep3k!GnO, le 23 fév 2006 à 15:12:19

Idée débile :
essaye a la fin du traitement de ton mail de lui imposer une pause dans le script, afin de ne pas brusquer le pauvre petit...
--> sleep(2); //fait dodo pendant 2 secondes. Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

17

P@, le 23 fév 2006 à 15:19:36

J'en passe qu'un au lieu de 2 avant :(
Une autre idée ?? :D ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

19

B@|-|@N, le 23 fév 2006 à 15:46:59

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 Close the world.||.txen eht nepO

Répondre à B@|-|@N

20

P@, le 23 fév 2006 à 15:49:30

Oui, mais dans la class que je n'ai jamais toucher (c'est pas moi je le jure :D)
Et en plus il tourne correctement 2 fois avant de faire Fatal error: Maximum execution time of 30 seconds exceeded in PATH\class.smtp.php on line 361

Alors ducoup ... ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

21

B@|-|@N, le 23 fév 2006 à 16:07:59

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 Close the world.||.txen eht nepO

Répondre à B@|-|@N

22

P@, le 23 fév 2006 à 16:11:18

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);
}


et
function 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);
}
..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

23

B@|-|@N, le 23 fév 2006 à 16:56:24

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 Close the world.||.txen eht nepO

Répondre à B@|-|@N

24

P@, le 23 fév 2006 à 17:07:16

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 ?? ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

25

B@|-|@N, le 23 fév 2006 à 17:20:52

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 Close the world.||.txen eht nepO

Répondre à B@|-|@N

27

P@, le 24 fév 2006 à 12:44:40

Allo,
tu as pu tester ??
ca marche ?? ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@

28

B@|-|@N, le 24 fév 2006 à 16:50:20

Désolé :(, j'ai pas eu le temps hier, mais ce soir, je jette un oeil (c'est dégoutant d'ailleurs cette expression ;)).

Bahan Close the world.||.txen eht nepO

Répondre à B@|-|@N

29

P@, le 24 fév 2006 à 17:10:45

Tout à fait d'accord...
Mais du cout tu as tout le we ...
Je suis partie avec une autre class ... libMail ... j'ai l'impression que ca va un peu mieux ... ..:::P@ ... a tras, a PoOf ou a chou :::..

Répondre à P@
Collection CommentÇaMarche.net