IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

atendre entre chaque boucle


Sujet :

ASP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut atendre entre chaque boucle
    Salut a tous

    J'envoi des mails avec cdonts, je souhauiterait garder cette outils, j'utilise l'instruction do while pour l'envoyer a plusieur personnes. Ca fonctionne pour une petite quantité de personne (une petite 10n). Lorsque que je veut envoyer a plus de personne (dans mon cas 50), ca ne fonctionne pas.

    J'ai penser que ce probleme est du a un buffer surcharger ou la cache qui ne suit pas.
    J'aurais donc voulu savoir :
    Si il existe un moyen pour jouer avec le temps; rajouter "atendre 2secondes" a la fin de la boucle avant qu'elle recommence
    Ou si on peut decharger le buffer et comment

    Je suis peut etre dans le faux et d'autre solution sont possible, je suis overt a toute proposition.

    Merci pour votre precieuse aide

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    As-tu vraiment besoin de faire une boucle ? un multipostage ne conviendrait pas ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    et comment fait on ca??? svp

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    à la place d'un seul destinataire tu en mets plusieurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Set objMessage = Server.CreateObject("CDO.Message")
    Set objMessage.Configuration = objConfig
    With objMessage
    	.To       = "bidule@societe.fr;truc@societe.fr;..."
    	.From     = "machin@societe.fr"	
    	.Subject  = "des choses"	
     
    	.Fields.update
    	...
    	.Send
    End With

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    arf lol
    l'interet de ma boucle etant de ne pas ecrire les adresses, elle va les chercher dans un BD

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Je vois pas le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    While Not Rs_adresse.EOF
     varadresse = varadresse & Rs_adresse("adresse_perso")
     Rs_adresse.MoveNext
     If Not Rs_adresse.EOF Then
        varadresse=varadresse & ";"
     End If
    Wend

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    With objMessage
       .To       = varadresse

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    Oui je suis bien d accord, ca ressemble a ca ce que j ai fait mais ca ne fonctionne pas quand jai plus de 10 adresse email dans la BDD

  8. #8
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Bon alors excuses-moi
    il n'aime peut-être pas avoir plusieurs destinataires dans le To
    as-tu testé dans le CC ?

  9. #9
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    J'ai eu le même problème. J'ai l'impression que le problème viens plus du serveur smtp que du composant Cdonts.

    Il n'existe pas de moyen simple en asp (sans installé de composant) de faire des pauses comme tu le souhaites.
    Pour résoudre ce problème j'ai fait des pauses en javascript.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    oui en javascript aussi pourquoi pas
    comment as tu fait stp

  11. #11
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Bonjour, ce n'ai pas la bonne solution ni la plus facile, mais il existe des composants ASP, qui permettent de generer un Timer coté serveur. Il est payant.
    En voila une parmis d'autres celle la est un dll simple a installer
    http://authors.aspalliance.com/stevesmith/articles/sleeptimer.asp
    Cordialement

  12. #12
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <%
    Dim lngId
    Dim strSql
    Dim objCnn,objRst
     
    lngId = Request("id")
    If Len(lngId) = 0 then
        lngId = 0
    End If
     
    strSql = "SELECT top 10 email,id from client where id>" & lngId
     
    Set objCnn = Server.CreateObject("ADODB.Connection")
    objCnn.Open Application("dsn")
     
    Set objRst = objCnn.Execute (strSql)
    while not objRst.Eof
        SendMail(objRst("email"))
        lngId =clng(objRst("Id"))
        objRst.MoveNext
    Wend
    objRst.Close
    %>
    <script>
    setTimeout("window.location.href='mapage.asp?id=<%=%>'",1000);
    </script>
    J'ai écrit ce code un peu vite, je ne suis pas sur que tout soit bon mais tu as les grandes idées.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut
    On a eu le même problème dans ma boite, le problème vient du compo mail qui est surchargé de demandes.
    On avait essayer avant de bidouiller avec les setTimeout et boucles ASP mais ce n'est pas très stable et certains naviguateurs ne tolèrent pas ce genre de code (Firefox notamment).

    La solution qu'on a mise en place : mise en place d'un batch schedulé qui récupère les mails dans une file d'attente. C'est l'artillerie lourde, je vous l'accorde, mais ça dépend des besoins !

    Good luck

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Points : 303
    Points
    303
    Par défaut
    ok et comment on fait ca??? stp

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Points : 522
    Points
    522
    Par défaut
    Le fonctionnement est le suivant :

    - à chaque envoi de mail, une fonction est appelée qui insère un enregistrement dans une base avec les données qui vont bien (expéditeur, destinataire, type d'envoi, corps du message, pièce jointe ...)
    - un script est ensuite schédulé sur le serveur (la fréquence, c'est à définir selon la puissance du serveur).
    - ce script lit la base de données, traite la première demande trouvée (la + prioritaire ou mode FIFO à voir) en envoyant le mail selon les paramètres lus et met à jour la base pour dire que le mail a été envoyé.
    - Fin du script, le mail suivant reprendra au prochain schedule (ça se dit ça ??)

    Ca permet de ne pas bombarder le serveur de mail de demandes consécutives mais de bien les espacer dans le temps.

    ++

Discussions similaires

  1. [MySQL] gestion d'affichage entre deux boucle while mysql_fetch_array()
    Par tkwleboss dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/11/2007, 21h37
  2. Macro s'arretant entre deux boucles
    Par jackbauer972 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/08/2007, 13h54
  3. espace entre chaque image
    Par Angelik dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 08/03/2007, 11h16
  4. Réponses: 3
    Dernier message: 03/10/2006, 11h38
  5. Etat avec pages blaches entre chaque page
    Par petitours dans le forum Access
    Réponses: 2
    Dernier message: 15/03/2006, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo