Bonjour à tous je travail sur un système de mailling avec swiftmailler et je souhaite retourner ou compter à chaque envoi le nombre de message envoyer.
Pour l'instant ma boucle retourne le résultat final, mais j'ai besoin de créer un genre de file d'attente de mail et je réfléchi pour faire une procédure propre.
L'idée retourner le nombre de message envoyé et restant à passage dans la boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public function send_message(){
		if(isset($this->nlisting)){
				$db = sn_db_message::adminDbMsg()->select_for_edit_message($this->send);
				$count = 0;
			  	//Create the Transport
				$transport = Swift_MailTransport::newInstance();
				//Create the Mailer using your created Transport
				$mailer = Swift_Mailer::newInstance($transport);
				//Use AntiFlood to re-connect after 100 emails specify a time in seconds to pause for (30 secs)
				$mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin(100, 30));
				$lotsOfRecipients = sn_db_listing::adminDbList()->s_listing_member($this->nlisting);
				$numSent = null;
				//Continue sending as normal  
				foreach ($lotsOfRecipients as $recipient){
					//Create a message
					$message = Swift_Message::newInstance();
					//Or set it after like this
					$message->setSubject($db['subject']);
					$message->setFrom(array(self::load_email_config()));
					$message->setTo($recipient['email']);
					$fileOpen = magixcjquery_html_helpersHtml::getUrl().'/public.php?idmsg='.$db['idmessage'];
					$content = file_get_contents($fileOpen);
					//Pass it as a parameter when you create the message
					$message->setBody($content,'text/html');
					//Add alternative parts with addPart()
					$message->addPart($db['content'], 'text/plain');
					//Send the message
					//$numSent  .= $mailer->batchSend($message);
					$count++;
					printf("Sent %d messages\n", $numSent);
				}
				//printf("Sent %d messages\n", $numSent);	  
		}
	}
Je pense qu'une boucle for serai plus adapté, en comptant au préalable le nombre de destinataire.
Quel méthode me conseillez vous ?