Buongiorno, spero possiate dari una mano ma sopratutto dirimi dove sbaglio in modo da sistemare il problema.
Vengo al dunque ho un form dove tramite mysqli interrogo il db ed inserisco la mail degli utenti alle quali manderò una mail di aggiornamento in formato html. Il problema è che la mail che invio dovendo essere la stessa dovrà avere destinatari diversi a secondo di quelli che seleziono dal form.
Qui il codice html
codice HTML:

Seleziona Utenti per invio Mail

Utenti:


[COLOR=#000080]





questo invece è il codice di verifica ed invio mail
Codice PHP:

$ok_ko="";
$visibilità = "hidden";

if(!isset(
$_POST['utente']) && (empty($_POST['utente']))){
$ok_ko.="Scegli il nome.
"
;
echo
"$ok_ko";
echo
"";}
if(!isset (
$_POST['text_mail']) && (empty($_POST['text_mail']))){
$ok_ko.="Scrivi qualcosa.
"
;
echo
"$ok_ko";
echo
"";}

//Se la variabile NON è VUOTA lasci ogli errori
if ($ok_ko != "") {
$visibilità = "visibile";
echo
"
"
;
// Altrimenti se è VUOTA lascio e proseguo
} else {
$ok_ko ="";
}

if (empty(
$ok_ko)) {

//Filtro dati con MYSQLI
$utente = $_POST['utente'];
$_SESSION['text_mail'] = $mysqli->real_escape_string(trim($_POST['text_mail']));

require_once(
'phpmailer/PHPMailerAutoload.php');

$marconcini = "[email protected]";
$biblionet = "[email protected]";

$mail = new PHPMailer();
$mail->IsSMTP(); // attiva l'invio tramiteSMTP
$mail->isHTML(true); //Attivo invio come html
$mail->SMTPDebug = 0; //0 Senza debug, se voglio i dettagli metto 4
$mail->Host = "smtp.gmail.com"; // ok PHPmailer
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Username = "[email protected]";
$mail->Password = "pass";

// Mail che riceveranno solo gli utenti selezionati del form

/*Messagio in php o html usato come allegto*/
$body = file_get_contents('mail_pubblicita.php'); // testo del messaggio in formato html


if($result = $mysqli->query("SELECT * FROM utenti")){
while (
$row = $result->fetch_assoc())

{
$nome = $row['nome'];
$email = $row['email'];

// ----- impostazione dei destinatari
$mail->ClearAllRecipients( );
$mail->AddAddress($email, $nome);

}
} else {
Errore: $mysqli->ErrorInfo;
}


//$mail->AddAddress ($email,$nome); //Mail che riceverà l'utente registrato
$mail->From = ($biblionet); //Inserire la mail di Andrea che apparirà come mail del mittente
$mail->FromName = ("Biblionet San Maurizio"); // Nome che apparirà come Mittente al cliente
//$mail->WordWrap = 50;
$mail->AddReplyTo($marconcini , 'Andrea ');
$mail->AddReplyTo($biblionet , 'Biblionet San Maurizio');
$mail->Subject = ("Novità dalla Biblionet");
$mail->AltBody = "Per visualizzare questo messaggio utilizza un programma adatto e che legga le mail in HTML!"; // Opzionale, da testare
$mail->Body = $body;


Il problema è che ricevo solo una mail e non due o più. Dove sbaglio?:confused::confused:


Scritto da: Paperino78 in categoria PHP nella data 21-06-2015 13:40.