Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema con invio multiplo di email [RISOLTO]

    Ciao a tutti!!!
    Mi trovo alle prese con la creazione di una newsletter, ho creato una tabella nel db dove poter raccogliere tutte le email delle persone che si iscrivono e fin qui tutto ok, ora però avrei la necessita di estrarre tutti i record in modo da poter inviare un unica email contemporaneamente a tutti i contatti della lista.
    Per fare ciò eseguo la query per l'estrazione dei record e tratto le email con un ciclo while, il problema è che l'email viene inviata solo all'ultimo record della lista.
    Qualcuno sa il perchè?

    codice:
    <?  
    
    $mess= $_POST['testo'];
    
    /*Nella variabile $mess va inserito tutto il codice html che comporrà il corpo dell'email che si vuole inviare. Come nell'esempio si possono utilizzare anche i fogli di stile.*/ 
    
    // inclusione del file di classe
    include 'MySql.php';
    // istanza della classe
    $data = new Mysql();
    // chiamata alla funzione di connessione
    $data->connetti();
    
    $sql = $data->query("SELECT * FROM tabella");
    
    while($row = mysql_fetch_array($sql)){
    
    $e = $row[email]; /*Inserire l'indirizzo email a cui si vuole spedire l'email*/ 
    }
    
    $data->disconetti();
    
    $ogg="XXX"; /*Inserire l'oggetto dell'email da spedire*/ 
    $mittente="XXX"; /*Inserire l'indirizzo email che verrà visulaizzato come mittente dell'email*/ 
    $reply="XXX"; /*Inserire l'indirizzo email a cui verranno inviate le risposte all'email inviata*/ 
    
    
    /*Non modificare nulla al di sotto di questa linea*/ 
    
    $intestazioni = "From: $mittente\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n boundary=\"Message-Boundary\"\nContent-transfer-encoding: 7BIT\nX-attachments: $titolo";  
    
    $body_top = "--Message-Boundary\n";  
    $body_top .= "Content-type: text/html; charset=iso-8859-1\n";  
    $body_top .= "Content-transfer-encoding: 7BIT\n";  
    $body_top .= "Content-description: Mail message body\n\n";  
    
    $msg_body = $body_top . $mess; 
    
    if(!(@mail($e,$ogg,$msg_body, $intestazioni))){ 
        
    print "
    
    Invio della email fallito.</p>";
    
    }  else {
        header('Location: xxx.php');
    }
    ?>

  2. #2
    Ho risolto modificando il ciclo while cosi:

    codice:
    while($row = mysql_fetch_array($sql)){
    
    $e .= $row['email']. ', '; 
    rtrim($e, ',');
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.