Visualizzazione risultati 1 fino 6 di 6

Discussione: [Script Email] Invio email con dati prelevati da flatfile

  1. #1
    Guest

    Predefinito [Script Email] Invio email con dati prelevati da flatfile

    Ciao,
    dopo varie vicissitudini, sono riuscito in qualche modo a produrre uno script che mi impaginasse i dati di un db fatto su flatfile ed ad inviare un'email con quest'ultimi.
    Solo che non so dove toccare per modificare il comportamento dell'invio dei dati, ovvero vengono inviate un numero di email pari al numero di record presenti, anziché un'unica email con tutti i dati completi.

    Grazie infinite a chiunque mi darà questa dritta!

    Allego lo script:
    Codice:
    <?php
    $userinfo = file("formazione.txt");
    
    
       echo '<table>';
    
    foreach($userinfo as $key => $val) 
    {
       //explode that data into a new array:  
       $data[$key] = explode("||", $val);
    }
    
    for($k = 0; $k < sizeof($userinfo); $k++) 
    
    {
    
       echo '<tr><td>Nome:</td><td><b>'.$data[$k][0].'<b></td></tr>';
       echo '<tr><td>Confermato:</td><td>'.$data[$k][1].'</td></tr>';
       echo '<tr><td>Note:</td><td>'.$data[$k][2].'</td></tr>';
       echo '<tr><td colspan=2> </td></tr>';
    
    		/* Per inviare email in formato HTML, si deve impostare l'intestazione Content-type. */
        $intestazioni  = "MIME-Version: 1.0"."\r\n";
        $intestazioni .= "Content-type:text/html;charset=iso-8859-1"."\r\n";
            /* intestazioni addizionali */
        $intestazioni .= 'To: test <test@test.com>'."\r\n";
        $intestazioni .= 'From: test <test@test.com>'."\r\n";
        $intestazioni .= 'Cc: test@test.com'."\r\n";
    	$intestazioni .= 'Bcc: test@test.com'."\r\n";
    	$to = "";
    	$data = date("Y-m-d H:i:s");
    	$Body = "<br>";
    	$Body .= "<table>";
        $Body .= "<tr><td>Nome:</td><td><b>".$data[$k][0]."<b></td></tr>";
        $Body .= "<tr><td>Confermato:</td><td>".$data[$k][1]."</td></tr>";
    	$Body .= "<tr><td>Note:</td><td>".$data[$k][2]."</td></tr>";
    	$Body .= "<tr><td colspan=2> </td></tr>";
    	$Body .= "</table>";
    	$Body .= "<br>";
    	$Body .= "<br>";
    	$Subject = "Aggiornato al $data\r\n";
    
            mail($to,$Subject,$Body,$intestazioni);
    
    
            
    }
    ?>

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Potresti mettere i rispettivi valori di :

    - $data[$k][0]
    - $data[$k][1]
    - $data[$k][2]

    ...in una unica stringa....e dopo il for invii la stringa!

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    Guest

    Predefinito

    La parte dell'intestazione e dell'invio fuori dal for (in fondo)
    Il body continui a concatenarlo nel for con i dati, in modo da trovarti un body unico con dentro tutto.
    Comunque ti faccio notare che usi la stessa variabile $data sia per la data, che per i dati da estrarre; non va bene così. (Scusate il gioco di parole).

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Guarda se questo codice ti può venire utile...e se funziona:

    Codice PHP:
    <?php
    $userinfo
    = file("formazione.txt");


    echo
    '<table>';

    foreach(
    $userinfo as $key => $val)
    {
    //explode that data into a new array:
    $data[$key] = explode("||", $val);
    }

    $string = array();
    $final_string = "";

    for(
    $k = 0; $k < sizeof($userinfo); $k++)

    {
    $string[$k] = "Nome:".$data[$k][0]." ";
    $string[$k].= "Confermato:".$data[$k][1]." ";
    $string[$k].= "Note:".$data[$k][2]."||";

    $final_string = $final_string.$string[$k];

    echo
    '<tr><td>Nome:</td><td><b>'.$data[$k][0].'<b></td></tr>';
    echo
    '<tr><td>Confermato:</td><td>'.$data[$k][1].'</td></tr>';
    echo
    '<tr><td>Note:</td><td>'.$data[$k][2].'</td></tr>';
    echo
    '<tr><td colspan=2> </td></tr>';

    /*
    // Per inviare email in formato HTML, si deve impostare l'intestazione Content-type.
    $intestazioni = "MIME-Version: 1.0"."\r\n";
    $intestazioni .= "Content-type:text/html;charset=iso-8859-1"."\r\n";
    // intestazioni addizionali
    $intestazioni .= 'To: test <test@test.com>'."\r\n";
    $intestazioni .= 'From: test <test@test.com>'."\r\n";
    $intestazioni .= 'Cc: test@test.com'."\r\n";
    $intestazioni .= 'Bcc: test@test.com'."\r\n";
    $to = "";
    $data = date("Y-m-d H:i:s");
    $Body = "<br>";
    $Body .= "<table>";
    $Body .= "<tr><td>Nome:</td><td><b>".$data[$k][0]."<b></td></tr>";
    $Body .= "<tr><td>Confermato:</td><td>".$data[$k][1]."</td></tr>";
    $Body .= "<tr><td>Note:</td><td>".$data[$k][2]."</td></tr>";
    $Body .= "<tr><td colspan=2> </td></tr>";
    $Body .= "</table>";
    $Body .= "<br>";
    $Body .= "<br>";
    $Subject = "Aggiornato al $data\r\n";
    mail($to,$Subject,$Body,$intestazioni);
    */

    }

    /* Per inviare email in formato HTML, si deve impostare l'intestazione Content-type. */
    $intestazioni = "MIME-Version: 1.0"."\r\n";
    $intestazioni .= "Content-type:text/html;charset=iso-8859-1"."\r\n";
    /* intestazioni addizionali */
    $intestazioni .= 'To: test <test@test.com>'."\r\n";
    $intestazioni .= 'From: test <test@test.com>'."\r\n";
    $intestazioni .= 'Cc: test@test.com'."\r\n";
    $intestazioni .= 'Bcc: test@test.com'."\r\n";
    $to = "";
    $data = date("Y-m-d H:i:s");
    $Body = "<br>";
    $Body .= "<table>";
    $Body .= "<tr><td>".$final_string."</td></tr>";
    $Body .= "<tr><td colspan=2> </td></tr>";
    $Body .= "</table>";
    $Body .= "<br>";
    $Body .= "<br>";
    $Subject = "Aggiornato al $data\r\n";
    mail($to,$Subject,$Body,$intestazioni);
    ?>
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    Guest

    Predefinito

    Grazie mille a tutti...
    ...il fatto è che non sono molto preparato in PHP e che mi arrabatto con script opensource a cui poi applico lentamente delle modifiche...
    ...come in questo caso, solo che questo scoglio non riesco proprio a superarlo!

    Ora faccio dei test con l'ultimo codice fornito!
    Grazie mille :)

  6. #6
    Guest

    Predefinito

    FUNZIONA PERFETTAMENTE!

    Grazie mille!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •