Annonce

#1 2009-04-30 20:56:04

Hervé
Membre
Inscription : 2009-04-30
Messages : 16
Site Web

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

Bonjour,
utilisteur de WAnewsletter depuis "un certain temps", je cherchais un moyen de gérer les contraintes imposées par l'hébergeur du site dont je suis le webmestre, à savoir 4 (oui : quatre) mails envoyés simultanément, pas plus, sous peine de se voir qualifié de spammeur.

J'ai pensé à modifier les headers de la page envoi.php pour y ajouter une instruction obligeant la page à se recharger toutes les N secondes. Mais le header est commun à toutes les commandes de la page envoi.php

En étudiant le script envoi.php , j'ai fini par mettre au point la modification suivante qui recharge la page envoi.php toutes les 7 secondes (à adapter à vos besoins) et qui envoie donc 4 mails toutes les 7 secondes, puis qui revient toute seule à la page de gestion d'un nouveau mail.

Les valeurs sont à adapter à votre environnement.

L'envoi s'effectue PAR FLOTS, et non en cliquant sur "automatique", ma modification se chargeant de cet aspect.

Ouvrir le fichier envoi.php

Aux environs de la ligne 220, localiser l'instruction suivante :

if($logdata = $result->fetch())

et apporter les modifications suivantes :

// DEBUT DE MODIFICATION
// tant qu'il y a des destinataires...
if($logdata = $result->fetch()) 
{
    // recharger la page envoi.php toutes les 7 secondes (par exemple)
    @$output->redirect('envoi.php?mode=progress&id='.$logdata['log_id'], 7); //  timer = 7 secondes
}
            
elseif( !($logdata = $result->fetch()) ) // VALEUR D'ORIGINE = if (et pas elseif)
{
// FIN DE MODIFICATION

Ca fonctionne pour moi, pourquoi pas pour vous ? :-)

Cordialement,

Hervé
Webmestre du site http://www.focale31.com

Hors ligne

#2 2009-05-03 18:00:25

-=crevette=-
Membre
Inscription : 2005-03-14
Messages : 58

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

Bonjour,

Je me demande si dans certains cas, il n'y a pas un risque que leur serveur arrête l'envoi en cours de route car le script est exécuté pendant trop de temps (souvent au bout d'une heure) ?
Je préfère donc utiliser des tâches CRON : http://forum.webnaute.net/viewtopic.php?id=4949

Mais bon, à chacun sa méthode pour passer les limites imposées par les hébergeurs.

A bientôt

Hors ligne

#3 2009-05-03 19:42:07

Hervé
Membre
Inscription : 2009-04-30
Messages : 16
Site Web

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

Justement, le rechargement de la page envoi.php a pour but de relancer l'exécution du script N fois (tant qu'il y a des destinataires non servis).
Il ne fonctionne donc que durant quelques secondes, pour l'envoi de mes 4 malheureux mails, en tous cas moins que les 30 secondes autorisées par la plupart de hébergeurs pour un script php.

Hervé
Webmestre du site http://www.focale31.com

Hors ligne

#4 2009-09-04 16:29:42

zero0974
Membre
Inscription : 2009-09-04
Messages : 3

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

Tu peu bien expliquer la démarche STP?

Qu'est qu'on remplace? qu'est-ce qu'on supprime? qu'est-ce qu'on ajoute?

Merci d'avance.

Hors ligne

#5 2009-09-04 16:41:11

zero0974
Membre
Inscription : 2009-09-04
Messages : 3

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

C'est bon, j'ai compris.

Repérez la ligne 219:

if($logdata = $result->fetch())
{

et Remplacez par:

if($logdata = $result->fetch())
{
   @$output->redirect('envoi.php?mode=progress&id='.$logdata['log_id'], 7); //  timer = 7 secondes
}
         
elseif( !($logdata = $result->fetch()) )
{

Peace

Hors ligne

#6 2009-09-04 17:23:32

Hervé
Membre
Inscription : 2009-04-30
Messages : 16
Site Web

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

Bonjour,

Oui, c'est bien la modification que j'ai faite, mais dans le code ci-dessus, l'intervalle entre 2 envois sera de 40 secondes et non 7 comme indiqué. C'est beaucoup...
Par expérience, un intervalle de 4 secondes environ permet à la page de se recharger normalement, avec une connexion ADSL "classique". Des intervalles plus courts méritent d'être testés.

Penser aussi au réglage du nombre de mails envoyés simultanément dans la fenêtre Configuration (plus il y en a, plus l'adresse email d'envoi court  des risques de se faire classer "spammeuse"...).

A priori, un "flot" de 4 mails simultanés ne devrait pas faire courir de grands risques. Il faudra simplement être patient si de nombreux mails doivent être envoyés.

La modification fonctionne parfaitement. Il peut y avoir une sortie de l'interface lorsque le temps maximum d'exécution de la mailing-list est atteint, mais un clic sur "Envois en cours", et c'est reparti !

Hervé

Hors ligne

#7 2009-09-04 18:01:16

zero0974
Membre
Inscription : 2009-09-04
Messages : 3

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

J'ai 25000 mails à envoyer, et mon hébergeur me limite à 100 mail par minute. Si j'envoie tout d'un coup (déjà testé) il bloque mon accés web.

Et là je suis actuellement en train de tester un envoie à 80 mails/min...
Je laisse tourner, j'en suis à 4000 envoyés, sans problème pour le moment.

Parcontre faut enregistré le login et le pass de wanewsletter avec Fofox, et cocher "connexion auto".

Merci pour la modif en tout cas (Y.
See ya.

Hors ligne

#8 2009-09-04 18:08:22

Hervé
Membre
Inscription : 2009-04-30
Messages : 16
Site Web

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

Excellent, la connexion automatique !

Hervé

Hors ligne

#9 2009-09-08 15:29:53

cym
Membre
Inscription : 2007-02-15
Messages : 3

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

Salut à tous,

La variable SEND_DELAY n'est elle pas déjà là pour "espacer" les envois ?

A+
Cyril

Hors ligne

#10 2009-09-08 18:39:20

Hervé
Membre
Inscription : 2009-04-30
Messages : 16
Site Web

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

heu... Cyril, tu veux bien nous citer le script et les lignes de code où se situe la variable send_delay ?
Je n'ai pas d'accès ftp en ce moment...
Merci.

Hors ligne

#11 2010-10-01 00:03:35

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : [Résolu] Envoi de N mails toutes les N sec., automatiquemen

SEND_DELAY n'est valable que dans le cas d'un envoi en ligne de commande avec le script contrib/wanewsletter ;-)


PHP et MySQL, un duo gagnant !

Hors ligne

Pied de page des forums