avrei necessita di inviare delle email a specifici indirizzi e non a tutti
gli utenti del sito (utente1 utente2 e utente3) come invece è specificato
ora qui sotto nell'array.
gli indirizzi vengono prelevati da una query che si chiama "invisibili" (il
campo dove è contenuta l'email si chiama 'username') e questi indirizzi
potrebbero essere solo uno o due anzichè tutti e tre.
come posso fare a gestire gli array variabili?
ecco il codice:
gli utenti del sito (utente1 utente2 e utente3) come invece è specificato
ora qui sotto nell'array.
gli indirizzi vengono prelevati da una query che si chiama "invisibili" (il
campo dove è contenuta l'email si chiama 'username') e questi indirizzi
potrebbero essere solo uno o due anzichè tutti e tre.
come posso fare a gestire gli array variabili?
ecco il codice:
PHP:
<?php
mysql_select_db($database_server, $server);
$query_eventi = "SELECT id, d, m, y, title, text FROM calendar_mssgs WHERE
concat_ws('-',y,lpad(m,2,0),lpad(d,2,0)) < curdate() + interval 3 day AND
concat_ws('-',y,lpad(m,2,0),lpad(d,2,0)) > curdate()";
$eventi = mysql_query($query_eventi, $server) or die(mysql_error());
$row_eventi = mysql_fetch_assoc($eventi);
$totalRows_eventi = mysql_num_rows($eventi); //da questa query ricavo gli
eventi che si verificheranno nei prossimi uno/due giorni
$evento = $row_eventi['evento'];
$colname_invisibili = "-1";
if (isset($_SESSION['$evento'])) {
$colname_invisibili = $_SESSION['$evento'];
}
mysql_select_db($database_server, $server);
$query_invisibili = sprintf("SELECT username, hash, fname, lname FROM
calendar_users WHERE hash NOT IN (SELECT username FROM partecipanti WHERE
evento = %s)", GetSQLValueString($colname_invisibili, "text"));
$invisibili = mysql_query($query_invisibili, $server) or die(mysql_error());
$row_invisibili = mysql_fetch_assoc($invisibili);
$totalRows_invisibili = mysql_num_rows($invisibili); //da questa query
ricavo i nomi di coloro che non hanno ancora segnalato la loro presenza a un
evento
if ($totalRows_invisibili > 0) { //se ci sono persone che non hanno ancora
segnalato la loro presenza allora....
require("class.phpmailer.php");
$aindirizzi =
array("[email protected]","[email protected]","[email protected]");
foreach ($aindirizzi as $destinatario)
{
$mail = new PHPMailer();
$mail->SetLanguage("it","./");
$mail->IsSendmail(); // send via SMTP
$mail->Host = "mail.xxxxxxxxx.it"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "[email protected]"; // SMTP username
$mail->Password = "xxxxxxxx"; // SMTP password
$mail->From = "calendario eventi";
$mail->FromName = "Gruppo Grotte CAI Savona ";
$mail->AddAddress($destinatario);
$mail->WordWrap = 100; // set word wrap
$mail->IsHTML(false); // send as HTML
$mail->Subject = "ATTENZIONE! DEVI CONFERMARE LA TUA PRESENZA AD UN EVENTO
per il giorno $day/$month/$year ";
$colname_Recordset2 = "-1";
if (isset($destinatario)) {
$colname_Recordset2 = $destinatario;
}
$query_Recordset2 = sprintf("SELECT uid, username, fname, lname, hash FROM
calendar_users WHERE username = %s", GetSQLValueString($colname_Recordset2,
"text"));
$Recordset2 = mysql_query($query_Recordset2, $server) or
die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2); //determino il codice
id dell utente indispensabile per confermare la presenza tramite il link
spedito via email e va infatti a cercare la corrispondenza tra indirizzo
destinatario e username (email) nel database per ricavare il codice id
$mail->Body = "Ad oggi non ci risulta ancora che tu abbia segnalato al
gruppo la tua presenza/assenza al seguente evento: ".$row_eventi['title']."
per il giorno
".$row_eventi['d']."/".$row_eventi['m']."/".$row_eventi['y']."<br>
<br>
".
$mail->AltBody = $row_eventi['text']."<br>
<br>
"."Provvedi a confermare la tua presenza cliccando <a
href=\"http://www.xxxxxxxxxxxx.it/areasoci/presente.php?id=".$row_Recordset2['hash']."&evento=".$row_eventi['id']."&presenza=1\">
qui </a>"."altrimenti clicca su <a
href=\"http://www.xxxxxxxxxx.it/areasoci/presente.php?id=".$row_Recordset2['hash']."&evento=".$row_eventi['id']."&presenza=0\">
purtroppo non ci sarò </a>"." Diversamente continuerai a ricevere
questa e-mail ogni due ore sino al giorno dell evento!";
$mail->Send();
}
}
?>