Envoi mail multiple vers plusieurs destinateurs dans BCC

Eléphant du PHP | 331 Messages

09 sept. 2007, 22:26

Bonjour à tous !

J'utilise la requete suivante pour récupérer les adresses email vers lesquelles je souhaite expédier mon email :
	//On récupère les contacts mails du client 
	$query_ListeContactsEmail = "SELECT EmailContact FROM Contacts WHERE IdClient = '$num' AND EmailContact <> ''";
	$ListeContactsEmail = mysql_query($query_ListeContactsEmail, $connection_jesuisne) or die(mysql_error());
	$totalRows_ListeContactsEmail = mysql_num_rows($ListeContactsEmail);
	
	while ($row_ListeContactsEmail = mysql_fetch_assoc($ListeContactsEmail))
	{ 
	  $email[] = $row_ListeContactsEmail['EmailContact'];
	}
	$NbEmails = count($email);
Puis j'ai ensuite ceci pour expédier mon email :
// destinataires
$to  = "[email protected]";

$headers  = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$headers .= "From: Je suis né(e) ! <[email protected]>\r\n"; 
$headers .= "Bcc: "; 
foreach($email as $email_destinataire) { 
     $headers.=$email_destinataire.','; 
} 

// sujet
$subject = $Prenom." ".$Nom." vous annonce ..."; 
etc ...
[email protected] reçoit bien l'email mais pas l'ensemble des destinataires qui doivent se trouver en CCI du mail.

Pourriez-vous me dire ce qui cloche ?

Merci !

Jay

Mammouth du PHP | 881 Messages

09 sept. 2007, 23:19

Pourquoi ne fais-tu pas un envoi individuel à chaque destinataire plutôt qu'un envoi global à tous.
Ton foreach pourrait inclure une commande mail plutôt qu'une définition de liste de destinataires.
Tu n'aurais ainsi même pas besoin de te soucier de faire des copies cachées ou confidentielles.
Il te suffit de définir sujet, contenu, origine qui soient communs à tous puis, une commande mail dans le foreach.
Soyez artisans de paix

Eléphant du PHP | 331 Messages

09 sept. 2007, 23:41

Oui, je suis d'accord avec toi, mais cela va alourdir le traitement je pense.
En effet, c'est en moyenne une centaine de destinataires que je contacte par mail, et de faire une "petite boucle" comme actuellement est beaucoup plus "léger" que de faire une "grande" boucle reprenant le traitement complet du mail.
Non, pas d'accord avec moi ? Par contre, moi je suis d'accord avec toi sur le fait qu'il serait mieux de n'avoir personne à cacher dans le CCI et ainsi mettre les adresses de chacun individuellement dans le A

Ceci dit, cela ne répond pas vraiment à ma question, à savoir pourquoi ça ne marche pas actuellement.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

10 sept. 2007, 10:29

Il manque un retour à la ligne à la fin de ta ligne BCC et tu as une virgule en trop.. c'est peut être pas de là que vient le problème, mais fera pas de mal de le corriger :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 331 Messages

10 sept. 2007, 10:53

Merci Ryle, c'est bien ça !