Newsletter copie cachée

devlop78
Invité n'ayant pas de compte PHPfrance

29 nov. 2010, 19:26

Je ne suis pas d'accord, mais je me trompe peut-être. Le destinataire (TO) verra les BCC, mais pas les BCC. En tous cas, je ne l'ai jamais trouvé moi, et c'est bien le principe du BCC...

Dans ton cas, le BCC n'est de toutes façons pas adapté. Un envoi 1 e-mail par destinataire est plus approprié et plus propre, quitte à mettre en place une "queue" ou file d'attente (Pear QueueMail par exemple).

Mammouth du PHP | 620 Messages

29 nov. 2010, 19:41

ok ok je vais donc essayé de me tourné vers l'envoi de mail par mail. Dois-je refaire tout mon code ou plutot comment puis-je l'adapté ?

devlop78
Invité n'ayant pas de compte PHPfrance

30 nov. 2010, 01:38

bah de façon un peu bateau :

$liste = "[email protected],[email protected]";
$arrayList = explode (',', $liste);

foreach ($arrayList as $eachMail) {

mail ($eachMail, 'sujet','objet');

}

Mais après ça dépend le nombre de destinataires. Il parait qu'il est limité, mais là je n'ai eu vent que de rumeurs. Dans la théorie et réelle pratique, je ne connais pas les conséquences d'un tel envoi. Donc une autre idée simplet serait :

- enregistrer les emails dans une base
- référencer une valeur time()
- vérifier lors de l'appel d'un fichier php que time() - 5 minutes > la valeur référencée
- envoyer 5 mails et les supprimer de la table
- re-définir la référence

Dans l'idéal, si la page est consultée toutes les 5 minutes, c'est nickel. Si elle est très consultée, c'est du gachis de ressources, si elle l'est beaucoup moins, l'envoi de l'ensemble des mails va être très longs.

ViPHP
ViPHP | 5462 Messages

30 nov. 2010, 11:14

Pour se genre de chose c'est marquer dans la doc de mail:
Note:

Il est important de noter que la fonction mail() n'est pas conseillée pour traiter de gros volumes de mails dans une boucle. Cette fonction ouvre et ferme un socket SMTP pour chaque mail, ce qui n'est pas très efficace.

Pour envoyer de gros volumes de mails, reportez-vous aux paquets » PEAR::Mail et » PEAR::Mail_Queue.
et y'a plein d'autre lib plus moderne comme SwiftMailer par exemple

devlop78
Invité n'ayant pas de compte PHPfrance

30 nov. 2010, 13:07

Oui Stealth35 j'ai déjà lu cette doc, sauf que lorsque j'envoie 5 emails, je trouve ça très rapide, malgré que je n'ai jamais fait des tests de temps d'exécution, et passer par SMTP me semble tout aussi long (il ouvre qu'une seule fois le socket, mais si il y a des pièces jointes, c'est le même problème).

Le problème c'est surtout "gros volume", c'est très peu indicateur. 5 emails est un tout petit volume, et 50 aussi quelque part. Mais à 50, j'ai déjà lu qu'il y avait risque de rejet de la part du serveur, voire (mais là c'est moi qui imagine), des risques d'être marqué en SPAM. De plus, un temps long d'exécution, c'est pas forcément génant pour un script lancé de temps en temps par son développeur pour envoyer des centaines d'emails. Bref, on reste toujours dans le "cloud" :p

Je rejoins quand même les solutions déjà existantes, notamment les systèmes de newsletter proposés par OVH par exemple (à voir le coût, car nous on utilise ça en entreprise mais on a un serveur dédié aussi ...)

Bonne chance.