PHP mail() newsletter

Fermé
Diff - 5 oct. 2009 à 08:48
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 5 oct. 2009 à 10:46
Bonjour,
j'ai un souci avec la fonction mail php.
Quand je lance un lancement de mails de la news letter, ça plante car le nombre d'adresses en Cci est important. Quand je lance un mail par adresse, ça va. Sauf que c'est long. Et quand la newsletter sera trop importante (niveau nombre de destinataire), ça sera problématique.
Comment résoudre ce problème ?

Merci.
A voir également:

5 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
5 oct. 2009 à 09:45
tu as essayé les 2 extrèmes: envoyer tout d'un coup, et envoyer un par un... et si tu envoyais les mails avec par exemple 10 destinataires dans le CCi à chaque fois ? (comme pour l'envoi mail par mail, attention aux timeouts qui sont généralement de 30 secondes en php)
0
C'est testé mais les adresses étant assez longues ou assez courtes, ça dépend, ça peut marcher oiu pas selon l'endroit où je serai.

En fait là j'ai deux idées là. Je verrai dans la semaine laquelle je mets en place (ou une autre si quelqu'un en a une meilleure) :
1 mesurer à partir de combien de caractères ça plante et parcourir la base de données en mesurant les adresses mails. dès qu'on s'approche de la limite, on envoie le mail et on recommence jusqu'à l'épuisement des adresses mails
2 envoyer 15 mails à un destinataires et ouvrir alors une nouvelle page qui enverra les 15 suivantes et on recommence. Ainsi on devrait éviter le timeout, non ?
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
5 oct. 2009 à 10:07
tu peux meme faire un mix des deux, en utilisant la technologie AJAX:
tu détermines la taille max des envois (ca tu peux le faire une fois pour toutes pour le serveur), et pour envoyer la newsletter, tu fais une page en AJAX qui va lancer le script d'envoi de mails.... le script d'envoi de mail contiendra la liste d'emails (dans une variable de sessions par exemple), enverra les mails et supprimera de la liste des emails qui ont déja été envoyés.

Ton script ajax renverra un truc du genre"15/350 mails envoyés", et tu pourra suivre en temps réel l'avancement de l'envoi de mails .... dès que ton script t'envoi une confirmationd 'envoi de mails, tu actualise la page du client (toujours en ajax), et tu lances l'appel suivant au script, tant que t'as pas comme retour "FINI"....
voila.... t'as plus qu'à t'interesser à l'ajax :D
0
Tiens oui l'AJAX, je n'ai pas encore l'habitude (mais j'en utilise assez souvent en plus).
Merci. Je pense que ça ira.

Quand j'aurai le temps cette semaine.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
5 oct. 2009 à 10:46
quand tu auras fais ton code, n'hésites pas à le poster ici (au moins les parties interessantes), et passes le sujet en résolu pour montrer que ton problème est fini
0

Discussions similaires