gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010
-
31 déc. 2008 à 10:32
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDerniè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.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 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
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDerniè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.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 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)
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDerniè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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 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
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 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