• User Attivo

    PhpMailer

    Salve ragazzi, stò usando questo codice per invio newletter con la classe di phpmailer prendendo i dati sul db, ma mi accade una cosa strana, per le prove ho creato un db con 3 utenti e le mail arrivano a tutti e 3, ma al primo come ID arrivano 3 volte il risultato di -$mail->Body .= 'Prova NewsLetter'; - quindi la frase "Prova NewLetter" al secondo "Prova NewLetterProva NewLetter" ed al terzo "Prova NewLetterProva NewLetterProva NewLetter" dove si trova l'errore?..se di errore si può chiamare!..perchè il codice magari è giusto ma inaccetabile. Posto il codice, grazie anticipatamente, ciao.

    <?php
    require("class.phpmailer.php");

    $mail = new phpmailer();
    $mail->IsMAIL();
    $mail->From = "[email protected]";
    $mail->FromName = "[email protected]";
    $mail->Subject = "Notifica";

    @MYSQL_CONNECT("localhost","utente","password");
    @mysql_select_db("diland");
    $query = "SELECT Email FROM clienti";
    $result = @MYSQL_QUERY($query);
    while ($row = mysql_fetch_array ($result)){

    $mail->AddAddress($row["Email"]);

    $mail->IsHTML(true);

    // Messaggio in formato HTML
    $mail->Body .= 'Prova NewsLetter';

    if(!$mail->Send())
    

    // Clear all addresses and attachments for next loop
    $mail->ClearAddresses();
    $mail->ClearAttachments();
    $mail->ClearAllRecipients();
    $mail->ClearCustomHeaders();

    echo "Inviata Mail a ---->    " . $row["Email"] . "<br>";
    

    }

    ?>


  • Consiglio Direttivo

    Ciao peterminnow 😉
    Il problema sta quì:
    [php].......
    // Messaggio in formato HTML
    $mail->Body .= 'Prova NewsLetter';
    ........[/php]
    ogni volta che whili (:D) non fai altro che aggiungere la stringa "Prova newsletter" a $mail->Body.
    Devi semplicemente portarlo su, fuori dal while 😉