Aller au contenu

timeout envoi de mail


Sujets conseillés

Posté

Bojour,

j'ai créé une newsletter pour mon site, et le probleme est que si il va y avoir baucoup de personne, je risque d'avoir un probleme de time out avec le navigateur.

J'utilise une boucle "for" pour envoyer les mail a tous les inscrit, mais comment je pourrais faire pour que par exemple, j'affiche un echo "ok"; tous les 10 mails envoyés. Cela devrai me permetre de gerer le probleme des timeout.

Merci d'avance

Posté

Salut,

Tu peux envoyer tes mails par groupe de x puis répondre au navigateur. Dans la page tu met un meta refresh qui rappelle

la page. Tu gère avec la session ou des paramettre le numéro du groupe suivant.

C'est une solution simple qui a le gros défaut d'interrompre l'envoi des groupes restants si tu quitte le navigateur.

Autrement je ne vois pas d'autre solution que PHP_CLI avec un cron. Je suis preneur si il y a d'autre idées :)

Posté

Tu utilises la fonction mail() ? Si c'est le cas fait attention, cette solution n'est pas adaptée, il vaut mieu envoyer les emails par protocole SMTP, il y a des classes toutes faites mais j'ai zappé le nom.

Sinon si tu souhaite quand même conservé cette fonction, et si ton hébergeur le permet, utilise la fonction set_time_limit() pour éviter le timeout de php :

set_time_limit($temps);

// $temps => temps maximal d'éxecution du script autorisé, en secondes

Je sais pas combien tu as de mail à envoyer mais si c'est beaucoup et que tu veux être tranquille met pas une valeur trop limite.

Belf

Posté

Salut,

pour être sur avec le set_time_limit, tu n'as qu'à mettre :

set_time_limit(0);

;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...