Page 1 sur 1

[Symfony]Problème étrange sur envoi de mail

Posté : 27 mai 2010, 09:44
par binouz
Bonjour,

j'ai un problème étrange depuis quelques jours sur l'envoi de mails avec swiftmailer.
Je travaille sur un site d'immobilier, et il est possible (sur la page d'un bien) d'envoyer un mail directement à l'agence via un formulaire. (je comptabilise également les clics et envoi réels pour mes statistiques).
En test, je n'ai jamais eu de soucis. Mais depuis quelques jours, certains mails arrivent en double voir plus (une fois en 12 exemplaires ...) aux destinataires. Je n'ai pas repéré de logique particulière sur les cas qui posaient problème.

Voici le code ou l'on envoie le mail :

- verif de code de sécurité(captcha) + récupération infos biens et agence
if ($client  && $flagMail==0) {
	    			Doctrine::getTable("TabBiensStatsmois")->MajStatEnvoiCourriel($request->getParameter("bienId"));
	    			$mail2 = explode(';',$mail);
	    			if ($mail2) {
					  	$message = Swift_Message::newInstance()
						  ->setFrom(sfConfig::get('app_contactfrom'),sfConfig::get('app_contactlibfrom'))
						  ->setTo($mail2)
						  ->setSubject('Demande de renseignement sur un mandat '.$client->getClientRaisonSociale())
						  ->setBody($this->getPartial('MailContactAgenceTxt', array('request'=>$request,
						  												'bien'=>$bien,
						  												'agence'=>$client,'bien_nom'=>$bien_nom)));
						$message->setBcc(array('blabla','blabla'));
						$message->addPart($this->getPartial('MailContactAgenceHtml', array('request'=>$request,
						  													  'bien'=>$bien,
																			  'agence'=>$client,'bien_nom'=>$bien_nom)), 'text/html');
					  	try {
							if ($this->getMailer()->send($message)) {
								echo "Votre mail a été pris en compte.";
								$flagMail=1;
							}
							else {
								echo "Problème lors de l'envoi du mail. L'agence n'a pu être contactée.";
							}
					  	}
					  	catch (Exception $e) {
					  		echo "Erreur lors de l'envoi du mail. Veuillez réessayer ultérieurement.";
					  	}
	    			}
	    			else {
	    				echo "L'agence ne peut être contactée. Veuillez réessayer ultérieurement.";
	    			}
	    		}	
	    		else {
	    			echo "Problème de lecture de l'agence. Veuillez réessayer ultérieurement.";
	    		}
    		}
    		else {
    			echo "Problème de lecture du bien. Veuillez réessayer ultérieurement.";
    		}	  	
    	}
    	else{
    		echo "Le code de sécurité n'est pas correct !";
    	}
    	return sfView::NONE;
	}
La variable $flagmail je l'ai rajouté pour tenter d'empêcher le problème mais sans résultat.
A noter :
- les stats sont bien prises en compte, ce qui me laisse penser qu'on passe effectivement n fois dans cette fonction.
- les mails n'arrivent pas tous à la même heure ...

Voilà désolé pour le pavé et un énorme merci pour ceux qui auront le courage de le lire.

Re: [Symfony]Problème étrange sur envoi de mail

Posté : 28 mai 2010, 08:29
par zeus
Vu que rien dans ton code ne laisse penser que plusieurs mails partent lors d'une seule exécution, et en prenant compte du fait que tu nous dis qu'ils arrivent à différentes heures, je penche pour le fait que tu ne récupères pas correctement la personne à laquelle tu veux envoyer l'email.

Essaye de tracer ce que contient $mail pour voir si tu ne récupèrerais pas des emails non prévu, par hasard

Re: [Symfony]Problème étrange sur envoi de mail

Posté : 28 mai 2010, 09:23
par binouz
Bonjour,


j'ai déjà vérifié cela et je n'ai pas trouvé d'erreurs.
Vu que le problème était très gênant (pas super pro d'envoyer 12 mails identiques à une agence !), j'ai opté pour une solution provisoire qui consiste à enregistrer ces mails en base et faire une vérification avant l'envoi si il n'existe pas déjà.

Pour l'instant pas de nouveaux doublons mais je n'ai toujours pas compris d'où venait le problème.

Merci quand même, je tiendrai au courant si je comprend un jour la raison.

Re: [Symfony]Problème étrange sur envoi de mail

Posté : 28 mai 2010, 09:34
par mere-teresa
Pour l'enregistrement en DB, enregistre un hash du mail, que tu compares, ce sera le + économique.

Re: [Symfony]Problème étrange sur envoi de mail

Posté : 31 mai 2010, 10:02
par binouz
Merci, c'est ce que j'ai fait.

Pour l'instant je n'ai plus le problème.

Bonne journée