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

Langage PHP Discussion :

[Mail] bcc mail


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Points : 51
    Points
    51
    Par défaut [Mail] bcc mail
    bonsoir,
    j'ai un petit problème, j'ai développé un petit module de newsletter, les clients sont dans le BCC, lorsque je fait un test d'envoi sur les admis (5 personnes - dont 4 en bcc) cela fonctionne à merveilles ! mais lorsque je fait l'envoi réelle (176 personnes en bcc), je ne reçois rien !

    ma question est simple, le script semble bon ! est ce que l'erreur pourrait venir du serveur d'envoi qui est heberger par un prestataire externe à l'entreprise ? Comment savoir ce qui bloque les bcc ? Merci de votre collaboration.

    Voici une partie de mon script en cas ou :

    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
     
    $to = "moi@entreprise.fr";
    $headers  = "MIME-Version: 1.0 \r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1 \r\n";
    $headers .= "From: moi@entreprise.fr \r\n";
    $headers .= "Reply-to: secretaire@entreprise.fr \r\n";
    $headers .= "Date: ".date("l j F Y, G:i")." \r\n";
    $headers .= "X-Priority: 1 \r\n";  
    $headers .= "Bcc: "; 
    while ($rownewsletter = mysql_fetch_array($exenewsletter)) 
       $headers.=" ".$rownewsletter["email"].", "; 
    /* on retire la dernière virgules */ 
    $headers=substr($headers,0,-1); 
    $headers.= " \r\n";
     
    mail($to, $subject, $message, $headers);

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Pas de limite pour le BCC (RFC? ou serveur?)?

    Autre question (peut être stupide?!) : pourquoi ne pas envoyer directement 176 emails? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    while ($rownewsletter = mysql_fetch_array($exenewsletter)) 
    {
        $to = "moi@entreprise.fr"; 
        $headers  = "MIME-Version: 1.0 \r\n"; 
        $headers .= "Content-type: text/html; charset=iso-8859-1 \r\n"; 
        $headers .= "From: moi@entreprise.fr \r\n"; 
        $headers .= "Reply-to: secretaire@entreprise.fr \r\n"; 
        $headers .= "Date: ".date("l j F Y, G:i")." \r\n"; 
        $headers .= "X-Priority: 1 \r\n";  
        $headers .= "Bcc: " . $rownewsletter["email"] . " \r\n";
        mail($to, $subject, $message, $headers); 
    }
    Tom

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    pourquoi car la newsletter pourra monter à 2000 voir 2500 clients, et la c'est quasi impossible ! le script prend trop de temps et ce bloc, c'est pourquoi que je préfère creusé la question du bcc

  4. #4
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    Et en envoyant la newsletter avec une tâche cron directement en appelant php en ligne de commande ?
    Pas de timeout, ni de set_time_limit...

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Citation Envoyé par jarod71
    pourquoi car la newsletter pourra monter à 2000 voir 2500 clients, et la c'est quasi impossible ! le script prend trop de temps et ce bloc, c'est pourquoi que je préfère creusé la question du bcc
    Il n'est pas recommandé d'utiliser la fonction mail() de php pour l'envoi massif de mail. Cette fonction ouvre un socket par passage dans la boucle. Pas top pour les perf.

    S'orienter plutôt vers la bibliothèque MAIL de PEAR ou bien écrire toi même ta fonction. Le protocole SMTP (Simple Mail Transfer Protocol) porte bien son nom. Il n'est pas trop compliqué.
    http://www.faqs.org/rfcs/rfc2821.html

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    en faites le serveur que j'utilise ne peux envoyer des paquets de 50 en bcc ! donc comment je peux avec le script existant faire des petits paquets de 50 bcc.

    merci de votre aide.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Points : 51
    Points
    51
    Par défaut
    j'ai modifier mon script mais voici l'erreur lors de l'envoi

    Warning: mail() [function.mail]: SMTP server response: 553 Ce serveur n'accepte pas le relais du courrier in C:\serveurs-web\toto\i_newsletter_formail2.php on line 107

    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
     
    $sqlnewsletter = "SELECT DISTINCT email FROM i_newsletter WHERE formation LIKE 'PA' AND NOnewsletter='1' AND email<>'-' ORDER BY email ASC"; 
    $exenewsletter = mysql_query($sqlnewsletter);
    $exenewsletter2 = mysql_num_rows($exenewsletter);
     
    $envoipaquet=45;
    $i=0;
    while($i < $exenewsletter2) {
    	$bcc = array();
    	for($j=0; $j < $envoipaquet && $i < $exenewsletter2 ; $j++) {
    	 $rownewsletter = mysql_fetch_assoc($exenewsletter);
    	$bcc[] = $rownewsletter['email'];
    	$i++;
    	}
    	$to = "toto@toto.fr";
    	$headers  = "MIME-Version: 1.0" . "\r\n";
    	$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
    	$headers .= "From: toto@toto.fr" . "\r\n";
    	$headers .= "Reply-to: toto@toto.fr" . "\r\n";
    	$headers .= "Date: ".date("l j F Y, G:i")." \r\n";
    	$headers .= "X-Priority: 1" . "\r\n";  
    	$headers .= "Bcc: "; 
    	$headers .= " ".implode(', ', $bcc). "\r\n";
    	$headers=substr($headers,0,-1); 
    	$headers.= "\r\n";
    	echo $to, $subject, $message, $headers;
    }

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/03/2009, 19h21
  2. [Mail] Fonction mail et Bcc
    Par antxbe dans le forum Langage
    Réponses: 24
    Dernier message: 06/11/2008, 13h54
  3. [Mail] envoi mail en masse avec fonction bcc
    Par jarod71 dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2006, 11h44
  4. table acces champ mail pour mailing ???
    Par jockey1 dans le forum Access
    Réponses: 3
    Dernier message: 17/09/2005, 21h19
  5. [Mail] Problème mail en html
    Par Vinzius dans le forum Langage
    Réponses: 6
    Dernier message: 10/09/2005, 22h51

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