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

PHP & Base de données Discussion :

newsletter pour 260 personnes


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut newsletter pour 260 personnes
    Bonjour,
    J'envoie une newsletter sur mon site mais le problème, c'est que j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Warning: mail() [function.mail]: Fonction mail() bloque. in /mnt/124/sdc/b/f/xxx/_newsletters/script.php on line 84
     
    Warning: mail() [function.mail]: Fonction mail() bloque. in /mnt/124/sdc/b/f/xxx/_newsletters/script.php on line 84
     
    Warning: mail() [function.mail]: Fonction mail() bloque. in /mnt/124/sdc/b/f/xxx/_newsletters/script.php on line 84
     
    Warning: mail() [function.mail]: Fonction mail() bloque. in /mnt/124/sdc/b/f/xxx/_newsletters/script.php on line 84
    [...]
    Fatal error: mail() [<a href='function.mail'>function.mail</a>]: Fonction mail() bloque. in /mnt/124/sdc/b/f/xxx/_newsletters/script.php on line 84


    Je suis chez free et j'ai 260 inscrits environ, nombre en constante augmentation. Est-ce un problème de timeout parce qu'il y a trop d'inscrits ou autre chose ?
    Voici le code de ma newsletter, voir s'il n'y a pas d'erreur... Merci

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?
    $db=mysql_connect("sql.free.fr","xxx","xxx");
    mysql_select_db("calendrier, listes",$db);
    $date = date("Y/m/d");
    $sql = "SELECT date_format(date_reel, '%d-%m-%Y') as 'date_reel_fr', quoi, ou, email, priv, affich, infos, newsletter, radio
    		FROM calendrier, listes
    		WHERE priv='n'
    		AND newsletter='o'
    		AND radio='n'
    		AND date_reel= '$date' + INTERVAL 3 DAY";
    
    $liste = mysql_query($sql) ; 
    $envoi = mysql_query($sql);
    
    while($tableau = mysql_fetch_array($liste))
    {
    $liste = $tableau['liste'];
    $date_spect = $tableau['date_reel_fr'];
    $quoi = $tableau['quoi'];
    $ou = $tableau['ou'];
    $infos = $tableau['infos'];
    
    if($date_spect <> ""){
    $headers ='From: "xxx"<newsletter@xxx.com>'."\n";
    $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
    $headers .='Content-Transfer-Encoding: 8bit';
    $message ='<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>xxx</title>
    <style type="text/css">
    <!--
    .Style2 {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 11px;
    }
    .Style3 {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 12px;
    	font-weight: bold;
    }
    .Style6 {font-size: 13px}
    .Style7 {font-size: 14px}
    -->
    </style>
    </head>
    
    <body>
          <td width="72%"><div align="center" class="Style2">
            <p class="Style6">Le prochain spectacle de xxx aura lieu le </p>
            <p class="Style6"><span class="Style7"><strong>'.$date_spect.' ('.$quoi.') &agrave; '.$ou.'</strong><br>
                <strong>Infos : '.$infos.'</strong></span></p>
            <p class="Style6">            Obtenez plus de renseignements en vous rendant sur le <a href="http://xxx.free.fr/"> site de xxxx</a> !</p>
          </div></td>
        </tr>
      </table>
    </div>
    </body>
    </html>'
    ;
    	while ($data=mysql_fetch_array($envoi)) {
    	    mail($data['email'], 'xxx- Newsletter', $message, $headers);
    	}
    	break;
    }
    }
    		echo''.$quoi.' - '.$date_spect.' - '.$ou.' - '.$infos.'-';
    
    mysql_free_result($envoi);
    mysql_close();
    ?>

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    Déjà, tu génères autant de fois le corps de ton mail qu'il y a d'utilisateurs, pourquoi ne pas le générer une fois puis l'envoyer à tous les utilisateurs qui sont censé recevoir cette nl ?

    Aussi, le même sujet est traité ici :

    http://www.developpez.net/forums/d38...loque-serveur/

    Il en resulte que Free refuse un nombre trop importants d'envois successifs. Si tu veux faire une newsletter, prends un hébergement payant.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    le problème, c'est que je ne sais pas faire... envoyer 1 même message à 270 contacts...

    Sinon, j'ai pensé à une alternative : si j'envoie par flot de 50 emails avec un délai entre chaque flot, ça ne pourrait pas fonctionner ?
    Quel serait alors le code ?
    Merci

  4. #4
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    le problème, c'est que je ne sais pas faire... envoyer 1 même message à 270 contacts...
    En fait ce que je te disais c'était de générer une seule fois le body HTML, et ensuite de parcourir tes membres et leur envoyer le mail. Sans générer à chaque fois le corps du mail.

    Evidemment il faut envoyer un mail unique par membre.

    Oui tu peux peut-être tester d'envoyer en plusieurs fois mais peut-être que le bloquage de free est calculé en fonction d'un certain quota par mois.

    Je te laisse juge

  5. #5
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    tout cela devient un peu trop compliqué pour moi...
    En payant, OVH, c'est bien ?

Discussions similaires

  1. [Newsletter] pour plusieurs milliers de membres
    Par s2otony dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 11/09/2007, 01h49
  2. Pour vos questions scripts de Newsletter pour PHP
    Par Marc Lussac dans le forum E-Mailing
    Réponses: 0
    Dernier message: 25/08/2007, 16h19
  3. selectionner plusieures dates pour plusieures personnes
    Par davidengalere dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 27/06/2007, 12h05

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