Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296

    Inviare mail con ciclo di while

    Buongiorno,
    ho un piccolo problema con la spedizione di e-mail tramite PHPMailer.
    Su DB ho un certo numero di persone alle quali spedire una e-mail. Dopo la lettura, con un while provo ad effettuare le spedizioni. Però dopo la prima mail (che viene spedita regolarmente) le successive non sortiscono effetto.
    Per di più nel ciclo inserisco la stampa di una tabella che contiene i valori letti sul DB, anche in questo caso mi vengono visualizzate solo le prime due righe. Avete una idea del perchè?

    Codice PHP:
         $sel  "SELECT * FROM utenti U, anagrafica A";    
         
    $result=$mysql->query($sel) ;
         WHILE (
    $riga $result->fetch_assoc())    {        
              
    $utente         $riga['UTENTE'];        
              
    $email          $riga['EMAIL_CERTIFICATA'];
              
    $nome          $riga['NOME'];
              
    $cognome     $riga['COGNOME'];    
                        
              include(
    "_SpedisciMail.php");    
         } 
    Questa la _SpedisciMail.php
    Codice PHP:

        $port 
    $_SESSION['P1420-port'];    
        
    $server_smtp =  $_SESSION['P1420-server_smtp'];    
        
    $username_smtp$_SESSION['P1420-username_smtp'] ;    
        
    $password_smtp $_SESSION['P1420-password_smtp'];    
        
    $indirizzo_mittente $_SESSION['P1420-indirizzo_mittente'];    
        
    $descrizione_mittente $_SESSION['P1420-descrizione_mittente'];        
        
    $indirizzo_destinatario1 $email;

        use 
    PHPMailer\PHPMailer\PHPMailer;    
        use 
    PHPMailer\PHPMailer\Exception;          
          
        include (
    "PHPMailer/Exception.php");        
        include (
    'PHPMailer/PHPMailer.php');        
        include (
    "PHPMailer/SMTP.php");

       
    $mail = new PHPMailer(true); 
       
    $mail->IsSMTP();        
       
    $mail->SMTPOptions = array(          
             
    'ssl' => array(          
             
    'verify_peer' => false,          
             
    'verify_peer_name' => false,          
             
    'allow_self_signed' => true         
          
    )        
      );        
    $mail->SMTPAuth   true;        
    $mail->Host           $server_smtp;        
    $mail->Port            $port;        
    $mail->SMTPSecure "tls";         
    $mail->Username   $username_smtp;        
    $mail->Password    $password_smtp;           
    $mail->setFrom($indirizzo_mittente$descrizione_mittente);            
    $mail->addAddress($indirizzo_destinatario1);            
    $mail->Subject      "Ogggetto della mail";        
    $mail->Body          "Corpo della mail";

    if (!
    $mail->send()){           
        
    $mess "Il messaggio non è stato inviato";            
        echo 
    "$mess";        }       
    else         { 
    $mess =  "E' stata inviata una mail informativa all'utente: $nome $cognome con indirizzo email: $email";            
        echo 
    "$mess";         

    Ultima modifica di otello; 12-10-2023 a 10:16

  2. #2
    Includi più volte delle classi e va in errore perchè ridefinisci tali classi.

    Crea una funzione di invio, includi il file che la contiene all'inizio (e non nel loop) e chiama la funzione invece di fare l'include.

  3. #3
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Quote Originariamente inviata da filippo.toso Visualizza il messaggio
    Includi più volte delle classi e va in errore perchè ridefinisci tali classi.

    Crea una funzione di invio, includi il file che la contiene all'inizio (e non nel loop) e chiama la funzione invece di fare l'include.
    Cavolacci, è vero, includevo sempre le classi, è bastato spostarle fuori dal ciclo è va benissimo.

    Ti ringrazio tanto. Buona giornata

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.