- Home
- Categorie
- Coding e Sistemistica
- PHP
- email a determinati indirizzi da query
-
email a determinati indirizzi da query
avrei necessita di inviare delle email a specifici indirizzi e non a tutti gli utenti del sito (utente1 utente2 e utente3) come 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?
[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 eventoif ($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="ww.xxxxxxxxxxxx.it/areasoci/presente.php?id=".$row_Recordset2['hash']."&evento=".$row_eventi['id']."&presenza=1"> qui </a>"."altrimenti clicca su <a href="ww.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();
}
}
?>[/php]