Partage
  • Partager sur Facebook
  • Partager sur Twitter

Delai envoi de emails

    4 décembre 2005 à 1:28:33

    Bonjour, J'aimerais mettre un delai pour envoyer les emails avec une delai de quelques secondes entre chaque car j'utiliser une otpion d'email de masse et je crois que mon serveur smtp n'aime pas tellement cela. VOici le code qui envoi le email(la boucle) ty...
    function message()
    {
        if (!isset ($_POST['envoi'])){
     $page = '<b><u> Envoyer un mail </u></b><br /><br />
        <form action="'
    .$_SERVER['PHP_SELF'].'?do=message" method=POST>
        Email de l\'expediteur:<input type=text name=email_expediteur size=20><br>Sujet du mail:<input type=text name=sujet_mail size=20><br>
        <br>Message <br><textarea rows=5 name=message_envoi cols=50></textarea><br><br><input type=submit name=envoi value="Envoyer le message"></form>'
    ;
        }
        else{
        //On regarde si tous les champs ont été remplis
       if (empty ($_POST['email_expediteur']) || empty ($_POST['sujet_mail']) || empty ($_POST['message_envoi'])){
       echo '<script language=javascript>alert ("Vous devez remplir tous les champs!!";)</script>';
           echo '<script language=javascript>window.location="'.$_SERVER['PHP_SELF'].'?do=message"</script>';
       }
       else{
       //On sélectionne tous les emails et on envoie le message
       $selection="select * from rpg_users";
       $sql=mysql_query($selection);
           while ($a_row=mysql_fetch_assoc($sql)){
            //La récupération étant terminée, on envoie le message à chaque membre!
           $to = "$a_row[email]";
           $sujet = "$_POST[sujet_mail]";
           //--- la structure du mail ----//
           $from  = "From:$_POST[email_expediteur]\n";
           $from .= "MIME-version: 1.0\n";
           $from .= "Content-type: text/html; charset= iso-8859-1\n";
     //--- Corps du message ---//
           $message_def="$_POST[message_envoi]\n";
           //--- on envoie l'email ---//
           mail($to,$sujet,$message_def,$from);
           }
        if (isset($_POST["envoi"])) {
           
            extract($_POST);
            $errors = 0;
            $errorlist = "";
            if ($email_expediteur == "") { $errors++; $errorlist .= "Entrez l'email de l'expediteur.<br />"; }
                    if ($message_envoi == "") { $errors++; $errorlist .= "Entrez votre message.<br />"; }
           
            if ($errors == 0) {
               
                admindisplay("Le mail a été envoyé","Editer un mail");
            } else {
                admindisplay("<b>Erreurs:</b><br /><div style=\"color:red;\">$errorlist</div><br />Veuillez retourner et essayer encore.", "Editer les blocs");
            }       
           
        }
       }
        }

     
      admindisplay($page, "Editer un mail");
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      4 décembre 2005 à 2:47:37

      Pour ton cas j'essayerai avec usleep()
      • Partager sur Facebook
      • Partager sur Twitter
        4 décembre 2005 à 3:13:12

        wouah thank you... :) tu ne saurais pas combien de temps il faudrait entre chaque email pour ne pas flooder un serveur de mail? c'est un peu long un délai de 10 seconde entre chaque envoie quand tu en as 700 à faire ou plus :S
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          4 décembre 2005 à 3:28:39

          Essaye de trouver un script de newsletter, et regarde comment ca fonctionne ;)
          • Partager sur Facebook
          • Partager sur Twitter

          Delai envoi de emails

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown