Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    inviare email a certi indirizzi prelevati 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?

    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("utente1@email.it","utente2@email.it","utente3@email.it");
    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 "segreteria@xxxxxxxxx.it";  // 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']."



    "
    .

    $mail->AltBody  =  $row_eventi['text']."



    "
    ."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&ograve; </a>"." Diversamente continuerai a ricevere questa e-mail ogni due ore sino al giorno dell evento!";

    $mail->Send();

    }
    }
     
    ?>

  2. #2
    in pratica avrei corretto il codice cosi ma di e-mail non ne arrivano seppure le query siano corrette, dove sbaglio?



    Codice PHP:
    <?php 
     $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'];   //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 a loro presenza allora....  
    require("class.phpmailer.php"); 
     
    $colname_invisibili "-1"
    if (isset(
    $_SESSION['$evento']))  {   $colname_invisibili $_SESSION['$evento']; } 
    $query_invisibili sprintf("SELECT username 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()); 
    while (list(
    $destinatario) = mysql_fetch_assoc($invisibili)); 

    $mail = new PHPMailer();  $mail->SetLanguage("it","./");  $mail->IsSendmail();                                   // send via SMTP  
    $mail->Host     "mail.xxxxxxxxxxxx.it"// SMTP servers  
    $mail->SMTPAuth true;     // turn on SMTP authentication 
    $mail->Username "segreteria@xxxxxxx.it";  // SMTP username  
    $mail->Password "xxxxxxxxxx"// SMTP password  
    $mail->From     "calendario eventi"
    $mail->FromName "Gruppo xxxxx xxxx xxxxxxx ";   
    $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']."
     
     "

     
    $mail->AltBody  =  $row_eventi['text']."
     
     "
    ."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.xxxxxxxxx.it/areasoci/presente.php?id=".$row_Recordset2['hash']."&evento=".$row_eventi['id']."&presenza=0\"> purtroppo non ci sar&ograve; </a>"." Diversamente continuerai a ricevere questa e-mail ogni due ore sino al giorno dell evento!";  
    $mail->Send(); 
     } 
    }   
    ?>

  3. #3
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Che io sappia

    $mail->From = "calendario eventi";

    Deve essere un indirizzo e-mail
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  4. #4

  5. #5
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Originariamente inviato da thenax
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.