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.