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');
}
?>