Phpmailer: multidestinataires issues d'une table SQL
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Phpmailer: multidestinataires issues d'une table SQL



  1. #1
    invitee974e0e3

    Phpmailer: multidestinataires issues d'une table SQL


    ------

    Bonjour à tous,

    Je cherche en vain la façon d'envoyer des mails à plusieurs destinataires dont l'adresse provient d'une table SQL.
    Lorsque j'ai un seul destinataire dans ma table ça ne pose pas de problème, mais au delà voici l'erreur que j'ai : Erreur : You must provide at least one recipient email address.

    J'effectue dans un premier temps une requête sur ma table:

    Code PHP:
    $connexion mysql_query("SELECT email from table");
         
    $extract mysql_fetch_assoc($connexion);
         
    $email $extract['email']; 
    Plus loin j'utilise ce code pour envoyer mon mail:

    Code PHP:

      
    require('phpmailer/class.phpmailer.php'); 
    $headers "MIME-Version: 1.0"."\r\n";
        
    $headers .= "Content-type: text/html; charset=utf-8"."\r\n";
     
    $mail = new PHPMailer();
    $mail->Host 'smtp.domaine.fr';
    $mail->SMTPAuth   false;
    $mail->Port 25// Par défaut
    $mail->CharSet 'utf-8';
     
    // Expéditeur

    // Destinataire

    for($i=0;$i<count($email);$i++){
         
    $mail->AddAddress($email[$i]);
    }; 
    Ce code semble convenir à tout le monde mais chez moi ça ne fonctionne pas, j'imagine que je passe à côté de quelque chose....

    Pouvez vous m'aider?

    Merci

    -----

  2. #2
    invite0bbe92c0

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Bonjour

    Peut être que certaines lignes de la table n'ont pas la colonne email de renseignée.
    Essaye :
    Code:
    SELECT email from table where email <> '' and email is not null
    (comme j'ignore quel SGBD tu utilises, je ne sais pas si il distingue les chaines vides des chaines nulles).

  3. #3
    invitee974e0e3

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Bonjour Bluedeep,

    Pour le moment je n'ai que deux lignes dans mon tableau et les deux sont bien renseignées.

  4. #4
    invite0bbe92c0

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Citation Envoyé par olivier147 Voir le message
    Bonjour Bluedeep,

    Pour le moment je n'ai que deux lignes dans mon tableau et les deux sont bien renseignées.
    Alors, c'est sans doute un problème php : je ne peux t'être d'aucune aide (ayant développé une allergie profonde à ce langage )

  5. A voir en vidéo sur Futura
  6. #5
    invitee974e0e3

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Merci quand même

    Quelqu'un aurait une autre idée?

  7. #6
    invite948b37db

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Commence par vérifier la validité des adresses :
    Code:
    for($i=0;$i<count($email);$i++){
       echo  $email[$i].'<br>'; 
       $mail->AddAddress($email[$i]);
    };

  8. #7
    bobflux

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Ton code ne récupère que la première ligne de résultat de ta requête...

    Code:
    $q = mysql_query("SELECT email from table"); 
    while( $r=mysql_fetch_assoc($q) )
    {
        $email = $r['email'];  
        $mail->AddAddress($email[$i]);
    }

  9. #8
    invitee974e0e3

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Je pense que tu as raison, le soucis est là, j'ai modifié mais j'ai cette erreur: Notice: Undefined variable: row in /appli/projects/....

  10. #9
    invitee974e0e3

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Au temps pour moi, erreur de manip....

  11. #10
    invitee974e0e3

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Citation Envoyé par cherbe Voir le message
    Commence par vérifier la validité des adresses :
    Code:
    for($i=0;$i<count($email);$i++){
       echo  $email[$i].'<br>'; 
       $mail->AddAddress($email[$i]);
    };
    Bonjour Cherbe,

    j'ai testé, il me sort que la première lettre de chaque adresse mail....

  12. #11
    bobflux

    Re : Phpmailer: multidestinataires issues d'une table SQL

    My bad, j'avais laissé ton erreur ($email[$i]), il fallait bien sûr enlever le [$i] qui extrait la première lettre de la chaîne.

    Code:
    $q = mysql_query("SELECT email from table"); 
    while( $r=mysql_fetch_assoc($q) )
    {
        $email = $r['email'];  
        $mail->AddAddress($email);
    }
    Note que la boucle avec le for() ne sert à rien (sauf à lire l'email lettre par lettre comme tu sembles le faire), pour récupérer tous les résultats d'une requête SQL, il faut utiliser la forme ci-dessus...

  13. #12
    invitee974e0e3

    Re : Phpmailer: multidestinataires issues d'une table SQL

    Merci beaucoup ça fonctionne nickel ; -)

Discussions similaires

  1. [Immunologie] Normalisation de données issues d'un séquençage NGS (ARN)
    Par invitea5bb4f74 dans le forum Biologie
    Réponses: 2
    Dernier message: 03/04/2016, 22h58
  2. Modèle de mealy et moore avec table des états et table réduite !
    Par invite325a1b29 dans le forum Technologies
    Réponses: 0
    Dernier message: 27/08/2015, 17h38
  3. Current issues in cosmology
    Par stefjm dans le forum Archives
    Réponses: 10
    Dernier message: 26/02/2012, 17h23
  4. Les 30 propositions issues du débat
    Par invite0dbacdd0 dans le forum Environnement, développement durable et écologie
    Réponses: 2
    Dernier message: 26/07/2007, 20h55
  5. Nuage de particule issues du soleil.
    Par invite48f3b69d dans le forum Archives
    Réponses: 5
    Dernier message: 05/06/2006, 15h27