Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Problemi con la mail!

  1. #1

    Problemi con la mail!

    Buonasera a tutti. Ho un problema con l'invio delle mail. Vi posto subito il codice.

    Codice PHP:
     <?php
            
    $hostname
    ="localhost";
    $username="root";
    $passwd="";
    $conn=mysql_connect($hostname,$username,$passwd);
            
    $testo=$_POST['testo'];
        
    if(! 
    $conn)
    {
            echo (
    "<script> sendm('Errore nella connessione al server') </script>");
        exit();
    }
            
    mysql_select_db("my_sito");
            
    $select="SELECT utenti.email
    FROM utenti, privilegio
    WHERE utenti.codP='ute' AND utenti.codP=privilegio.codP"
    ;
                     
    $ris=mysql_query($select);
    if(! 
    $ris)
    {
        echo (
    "<script> sendm('Errore!') </script>");
            exit();
    }

    $riga=mysql_fetch_array($ris);
            
    if(! 
    $riga)
    {
        echo (
    "<script> sendm('Nessun utente iscritto') </script>");
        exit();
    }        
                
    while(
    $riga)
    {
              
    $mail=$riga['email'];
          
    mail("$mail","Pubblicità",'$testo');
    }
            
    echo (
    "<script> sendm('Invio effettuato correttamente') </script>");
    mysql_close($conn);        
    ?>
    Praticamente quando arriva alla mail() si blocca e mi segnala l'errore:

    Fatal error: Maximum execution time of 30 seconds exceeded in /membri/sito/pubblicita.php

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    vuol dire che c'è qualcosa in /membri/sito/pubblicita.php che ci mette più dei 30 secondi settati nel php.ini ad eseguirsi, verifica quella query quanto ci mette ad eseguirsi da sola.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    questo ciclo è infinito
    Codice PHP:
    while($riga

          
    $mail=$riga['email']; 
          
    mail("$mail","Pubblicità",'$testo'); 

    Jekkil

  4. #4
    Si infatti poi gli ho applicato nel while questo:
    Codice PHP:
    $riga=mysql_fetch_array($ris); 
    Comunque adesso mi da altri problemi.
    Ovvero, quando gli utenti ricevono la mail, la ricevono nella cartella indesiderata
    e/o ne ricevono due. C'è una spiegazione?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    il fatto che ne ricevono due dipende dall'elenco di indirizzi che ti restituisce la query.

    Il fatto che la ricevono in posta indesiderata può dipendere da tanti fattori come ad esempio il fatto che nell'oggetto c'è scritto solo "pubblicità" o altre cose...scrivere email che non vengano interpretate come span non è proprio semplice....inoltre dipende fortemente dai filtri antispam in uso...
    Jekkil

  6. #6
    Mm boh gli indirizzi nel momento della resgistrazione vengono controllati affinchè siano
    veri indirizzi, o meglio abbiamo la composizione tradizionale di un'indirizzo mail.

    Poi boh, ho notato che mette nella indesiderata solo se il destinatari è una hotmail.
    Nelle altre invece me le invia due volte. boH!

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    Visto che li mette tra lo spam sullo per gli indirizzi hotmail direi proprio che dipende dal filtro antispam di hotmail.

    Per verificare che non ci siano indirizzi email doppi, prima o dopo la funzione mail metti

    Codice PHP:
    echo $email."
    "

    e verifica che non escano fuori indirizzi doppi. Se escono il problema è nel db.
    Jekkil

  8. #8
    In effetti mi escono indirizzi doppi..
    Ma nel db non ci sono ripetizioni.

    Il codice è questo:
    Codice PHP:
    $select="SELECT utenti.email
                      FROM utenti, privilegio
                      WHERE utenti.codP='ute'"
    ;

    $ris=mysql_query($select);
    $riga=mysql_fetch_array($ris);

    while(
    $riga)
    {
        
    $mail=$riga['email'];
            echo(
    "$mail");
          
    mail("$mail","Pubblicità","$testo");
            
    $riga=mysql_fetch_array($ris);
            } 
    Cos'è che non va?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    perchè nel FROM della query c'è la tabella privilegio?
    Jekkil

  10. #10
    Ah giusto! Ieri sera ho cancellato una condizione nella where che la utilizzava!
    Pero non credo dia fastidio.. no?

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.