Page 1 sur 1

Alerte Mail ?

Posté : 28 févr. 2007, 10:23
par stomper98
Bonjour à tous,

Je rencontre sur un site de véhicule un problème d'optimisation dans le traitement du script je pense.

Je vais partir du point de départ, je traite un fichier txt qui insére les véhicules dans la BDD jusqu'ici pas de problème tout se passe bien. (1 ligne par véhicule)

J'ai décidé il y a peu d'ajouter un système d'alerte email, c'est là que j'ai quelque doute, en fait j'ai intégrer lles alertes durant le traitement du fichier texte.

J'ai donc ce code en plus pour chaque véhicule traité :
                $requete = "SELECT MAIL FROM alerte WHERE ACTIF = 1";
						
		$connex->query($requete);
		
		require_once "phpmailer/class.phpmailer.php";

		$mail = new PHPmailer();

		$mail->IsMail();

		$mail->IsHTML(true);

		$mail->Host='smtp.wwwww.fr';

		$mail->From='[email protected]';
	
		$mail->FromName='Alerte';
																			
		while($connex->next_record()) {

                     $mail->AddBCC($connex->f("MAIL"));
  
                }

                $mail->AddReplyTo('[email protected]');

	        $mail->Subject= 'Arrivée d\'un véhicule';

	        $mail->Body='Bonjour,<br /><br />';

                $mail->Body.= 'A bientot';
	
	        if(!$mail->Send()){
	 	     echo $mail->ErrorInfo; 
	        } else{
	 	    // echo 'Mail envoyé avec succès';
	        }
		
	       $mail->SmtpClose();

	      unset($mail);			

Problème, mon script s'arrete et ne traite pas l'ensemble des lignes du txt, je suis obligé de relancer le traitement du fichier...(en revanche les mail partent bien)

Alors est ce que c'est normal ? Est ce une bonne idée d'intégrer le traitement des alertes à cet endroit ? ...

Posté : 01 mars 2007, 10:06
par stomper98
Je me permets de relancer le post, voyant que ça n'attire pas les foules :(

Si il manque des infos ou si je n'est pas été très claire dans mes explications n'hésitez pas...

Posté : 01 mars 2007, 10:24
par zeus
Quand tu dit que le script s'arrête, il faut quoi exactement ?
Est-ce que tu as regardé du côté de max_execution_time() ?
Pourquoi un mail à chaque voiture ?

Posté : 01 mars 2007, 10:50
par stomper98
Merci de ta réponse déja :)

Alors concernant max_execution_time() la valeur est de 30.

Donc le script s'arrete et j'ai une page blanche, au lieu d'avoir un récapitulatif des données traitées (Nb véhicules traités ...)
Comme je le disais si mon fichier texte ne contient que quelques véhicules (moins de 10) le script se lance bien les mail partent...


En fait il n'y a pas forcément un mail pour chaque voiture, disons que si la voiture insérée correspond aux critères d'alertes de la personne le mail part. En l'occurence pour les test j'imagine le cas de figure ou un mail par a chaque fois. J'avais ce code avant mais le problème est le même.
$requete = "SELECT MAIL, MARQUE FROM alerte
						
			WHERE ACTIF = 1";
						
		       $connex->query($requete);		
		
																			
		while($connex->next_record()) {																		
			if ($connex->f("MARQUE") != 0) {			
				if ($connex->f("MARQUE") == $idMarque) { 	//idMarque = la marque du véhicule inséré						
					require_once "phpmailer/class.phpmailer.php";

					$mail = new PHPmailer();

					$mail->IsMail();

					$mail->IsHTML(true);

					$mail->Host='smtp.xxxxx.fr';
	
					$mail->FromName='Alerte';
					
					$mail->AddAddress($connex->f("MAIL"));
					
					$mail->Subject= 'Arrivée d\'un véhicule';
					
					$mail->Body.='Bonjour,<br /><br />'; 
						//ect...				
				}
				
			}

               }

Posté : 01 mars 2007, 11:30
par stomper98
Bon effectivement en augmentant la valeur de max_execution_time() ca fonctionne bien, néanmoins je suis obligé de le mettre à plus de 500 secondes donc il y a un problème d'optimisation non ?

Dans tous les cas je suis bloqué car du coté de mon hébergeur je suis limité à 45 secondes.

J'ai l'impression de ne pas m'y prendre de la bonne manière avec le système d alerte mail :cry: