Envoyer plusieurs mails

gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010 - 31 déc. 2008 à 10:32
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010 - 2 janv. 2009 à 19:17
Bonjour,
Je sais envoyer des mails en PHP avec un ou plusieurs destinataires. Mais mon problème c'est que chez mon hebergeur le timeout de script est limité à 30 secondes alors que je voudrais envoyer un mail à des milliers de membre. Je pensais utiliser AJAX en essayant d'envoyer petit à petit les mails mais je suis pas sûr. Avez vous d'autres idées ?
Merci.

11 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 déc. 2008 à 11:04
Salut,

Idée (raisonnable) n°1 : abandonner le spam
Idée (intelligente) n°2 : tenter set_time_limit(0);
Idée (supposée) n°3 : mettre les destinataires en Bcc.
Bon, je n'ai pas vu ton code mais je suppose que tu as une boucle qui contient mail() qqpart, sinon il n'y aurait pas de problème de temps d'exécution (j'espère ne pas dire de connerie)
Idée (con) n°4 : il n'y a pas une limitation de ton hébergeur du nombre de mails envoyés ?
Idée (très bonne) n°5 :  poster ton code
Idée (lumineuse) n°6 : ... euh, la prochaine fois

Kohntark-
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
31 déc. 2008 à 11:13
Le mail est specifique à chaque membre, il y a un lien pour desactiver son inscription, donc je dois faire une boucle sur la fonction mail( ). Le temps de calcul de script de mon hebergeur est limité à 10 secondes pas 30(suis trompé au début). Tu crois qu'avec 10 secondes on arrive à envoyer un millier de mail. Et en plus cela ne va pas bloquer le script sur le navigateur.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 déc. 2008 à 11:41
Tu crois qu'avec 10 secondes on arrive à envoyer un millier de mail.

=> sans prendre trop de risques : NON, en tous cas pas 1000 mails différents

As tu essayé ce que je te proposais ? notamment le set_time_limit(0); ?

Si la spécificité du mail ne repose que sur le lien de désactivation de son inscription je ne me prendrai pas trop la tête :
dans le mail :

[le membre se connecte]
tu testes si desinscription existe
si true tu rediriges vers la page désinscription

C'est simple, ça ne demande pas de gros efforts de la part du membre, ça renforce la sécurité et ça te permet de faire un lien unique pour tous les membres == mail([1000 destinataires]) en 10 sec (sauf autres limitations de ton hébergeur)

Kohntark -
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
31 déc. 2008 à 11:52
Mon problème c'est ce lien. En fait c'est une desinscription sur un newsletter, Quand il a fait l'inscription, je ne demande que son adresse mail (sans mot de passe) et cette adresse est activée avec un lien sur un mail envoyé sur cette adresse. Donc je ne peux pas mettre un lien de desinscription de ce membre sur mon site sans mot de passe alors que j'ai pas demandé de mot de passe, sinon tout le monde peut desincrire n'importe qui.
0

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

Posez votre question
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
31 déc. 2008 à 11:59
Sur set_time_limit( 0 ), il n'y a aucun effet. Peut etre safe_mode est active.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 déc. 2008 à 12:34
J'ai un peu du mal à te suivre.
Je récapitule :
X s'inscrit à ta newsletter en entrant uniquement son adresse eMail (pas de pseudo, pass, ...)
Y fait de même

Quelle différence y a t il entre :
- envoyer 2 mails différents à X et Y, contenant chacun un lien du style :
[http://machin.com/desinscription.php?mail=[mail de l'utilisateur] qui t'oblige à envoyer des mails différents

- et 1 mail identique à X et Y (ou à n personnes) avec un lien du style :
]
desinscription.php contient alors une invite "entrer votre eMail pour vous désinscrire de la newsletter"
X ou Y, ou tartanpion entre alors son adresse, tu récupères, tu le vires du mailing de la newsletter .... point.

Rien ne t'empêche de blinder encore plus le truc en envoyant un mail lorsque le formulaire de desinscription.php est validé.
Tu informes avec un message "un mail vient de vous être envoyé. Pour finaliser votre desinscription, veuillez suivre les instructions de ce mail" Et dans le mail tu mets ton lien unique.

Kohntark -
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 déc. 2008 à 12:39
Pour set_time_limit(), essaie :
get_defined_functions();


et regarde si elle est présente. Je ne suis pas sur qu'un résultat positif soit très fiable (car il y a peut être d'autres limitations), mais si elle ne s'y trouve pas c'est certain ... c'est mort

Kohntark -
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
2 janv. 2009 à 18:21
Salut et bonne année à tous,
Kohntark, d'accord je vais suivre ton conseil pour la desinscription pour ne pas alourdir l'envoyer des mails.
Merci.
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
2 janv. 2009 à 18:25
Autre question, pourquoi on met les destinataires dans Bcc au lieu dans le paramètre To séparé par des virgules?
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
2 janv. 2009 à 18:44
C'est juste pour que les destinataires ne voient pas l'adresse mail des autres (copie cachée)

Kohntark -
0
gagah1 Messages postés 509 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 3 août 2010
2 janv. 2009 à 19:17
Y a-t-il une limite sur le nombre de destinataire à mettre dans le Bcc?
0
Rejoignez-nous