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 :

[CSV] Envoyer des données d'un fichier CSV par mail


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Points : 38
    Points
    38
    Par défaut [CSV] Envoyer des données d'un fichier CSV par mail
    Bonjour,
    J'aimerais envoyer un mail au membre de mon site pour leur communiquer leur login et mot de passe. Pour cela j'ai un fichier CSV contenant les adresses mail, les logins et mots de passe des 2000 membres.
    Voici ce j'ai codé mais le mail ne s'envoie pas.
    A noter : Lorsque je remplace $mail par une adresse mail, le mail s'envoie correctement mais n'affiche pas le login et le mot de passe.
    Avez vous une solution ?

    Dois-je utiliser la fonction for ?

    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
    <?php
     
    $path_to_csv = 'mail2.csv'; //this is the name of your csv file, or text file
    $csv_delimiter = ';'; //choose your delimiter
    $testing_mode = 0; // testing = 0 (zero) -> WRITE to the database
    // testing = 1 -> do NOT WRITE to the database
     
     
    //Open CSV and read it
     
    $handle = fopen ($path_to_csv,'r');
    while ($data = fgetcsv ($handle, 1000, $csv_delimiter)) {
     
    $login = $data[0];
    $pass = $data[1];
    $mail = $data[2];
     
    }
     
     
    $headers ='From: "nom"<contact@aie.fr>'."\n";
         $headers .='Reply-To: contact@aie.asso.fr'."\n";
         $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
         $headers .='Content-Transfer-Encoding: 8bit';
     
         $message ='<html><head><title>Vos identifiants</title></head><body>Votre login : '.$login.'<br>Votre mot de passe : '.$pass.'</body></html>';
     
         if(mail( $mail, 'Vos identifiants', $message, $headers))
         {
              echo 'Le message a été envoyé';
         }
         else
         {
              echo 'Le message n\'a pu être envoyé';
         }
    ?>

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    J'ai finalement trouvé la solution pour ceux que ça intéresse :

    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
    <?php
     
    //CSV file details
     
     
    $path_to_csv = 'mail2.csv'; //this is the name of your csv file, or text file
    $csv_delimiter = ';'; //choose your delimiter
    $testing_mode = 0; // testing = 0 (zero) -> WRITE to the database
    // testing = 1 -> do NOT WRITE to the database
     
     
    //Open CSV and read it
     
    $handle = fopen ($path_to_csv,'r');
    while ($data = fgetcsv ($handle, 1000, $csv_delimiter)) {
     
     
    $login = $data[0];
    $pass = $data[1];
    $mail = $data[2];
     
     
    if ($testing_mode == 0) { //try just two = signs for a straight comparison (not including type)
     
    $boundary = "-----=" . md5( uniqid ( rand() ) );
    $headers = "Reply-to: \"Votresite.com\" <contact@votresite.com>\n";
    $headers .= "From: \"Votresite.com\"<contact@votresite.com>\n";
    //NOTE: l'adresse email indiquée dans le header From doit etre l'adresse absolue du serveur qui envoie les messages, et peut etre differente de votre adresse de contact si vous etes par exemple sur un serveur dedié partagé. dans mon cas l'adresse specifiee ici est <webusers@mail.nomduserveur.com>
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
     
    $destinataire = $mail;
     
    $subject = "Vos identifiants";
     
    $message  = "Salut Alphonse\n\n";
    $message .= "Votre mot de passe :".$pass."\n\n";
    $message .= "Votre login : ".$login."\n";
     
    mail($destinataire, $subject, $message, $headers);
     
     
    }//end if
    }
     
    fclose ($handle);
     
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 45
    Dernier message: 14/02/2008, 15h41
  2. [CSV] exporter des données d'un fichier CSV vers BD Mysql
    Par samsso2006 dans le forum Langage
    Réponses: 2
    Dernier message: 04/05/2007, 22h25
  3. [CSV] Ecriture des données dans un fichier
    Par kagura dans le forum Langage
    Réponses: 3
    Dernier message: 07/11/2006, 22h55
  4. Extraire des données dans un fichier .csv
    Par orj30754 dans le forum C
    Réponses: 7
    Dernier message: 03/11/2006, 14h48
  5. fichier CSV modification des données.
    Par suya95 dans le forum Excel
    Réponses: 8
    Dernier message: 26/07/2006, 12h22

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