• User

    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 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="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]