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

    Funzione che legge dati da un db ed invia una mail

    Ciao a tutti, sono Francesco un nuovo membro del forum...
    Ho implementato questa funzione in php che legge dei dati da un db tra cui un indirizzo e-mail e invia una mail a questo indirizzo. Il problema e che sembra funzionare tutto correttamente ma la mail non mi arriva !!!!
    Posto la funzione, e premetto che ho provato a sostituire la variabile $row[3]; con una stringa del tipo "info@miodominio.it". L'ultima riga di codice mi stampa la stringa mail inviata correttamente ma la mail non parte....
    Codice PHP:
    $query="select id,username,password,email FROM user WHERE email ='".$_REQUEST['email']."' AND block=0 ";
                        
    // esecuzione della query
                        
    $result $mysqli->query($query);
                         
    // conteggio dei record restituiti dalla query
                         
    if($result->num_rows >0)
                          {
                            
    // generazione di un array numerico
                            
    while($row $result->fetch_array(MYSQLI_NUM))
                            {
                               echo 
    "Bene " .$row[1] ." il tuo utente e' stato riconosciuto.";
                               echo 
    "
    \n"
    ;
                               echo 
    "Riceverai al piu' presto una mail all'indirizzo incicato con le credenziali d'accesso. Grazie.";
                               
    //In To inserisco il destinatario
                               
    $to $row[3];
                               
    //In Subject inserisco l'oggetto
                               
    $subject "Credenziali d'accesso al sito Ibiticket";
                               
    //In message inserisco il testo della mail . Ogni riga deve essere separata \n
                               
    $message "Prova testo";
                               
    //define the headers we want passed. Note that they are separated with \r\n
                               
    $headers "From: [email]info@miodominio.it[/email]";
                               
    //send the email
                               
    $mail_sent = @mail$to$subject$message$headers );
                               
    //if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
                               
    echo "
    \n"
    ;
                               echo 
    "
    \n"
    ;
                               echo 
    $mail_sent "Mail inviata correttamente" "Ivio Mail fallito"
    Qualcuno sa darmi una mano, non so dove sbaglio, grazie
    CICCIOS100
    Domandare è lecito, rispondere è cortesia

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Prima di tutto: il sito si trova online o sul tuo pc?
    Nel secondo caso è normale che non funzioni perché il tuo pc non ha un mail server.

  3. #3
    Ciao Alhazred,
    grazie per l'interesse mostrato, comunque il sito è on line, raggiungibile tranquillamente tramite indirizzo ip del server...il server è un linux installato qui in azienda. Su questo server ho installato un sito in joomla, e da joomla le e-mail partono correttamente.
    CICCIOS100
    Domandare è lecito, rispondere è cortesia

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    In Joomla usi il php mailer o l'smtp?

  5. #5
    Originariamente inviato da Alhazred
    In Joomla usi il php mailer o l'smtp?
    Penso che joomla usi il php mailer per inviarti le e-mail...
    Quello che intendevo prima e che se tu provi ad esempio a recuperare username e password dal mio sito in joomla, il sito ti recapita una mail, e la mial ti arriva
    CICCIOS100
    Domandare è lecito, rispondere è cortesia

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ti ho chiesto di Joomla perché potrebbe essere che il php presente sul server non sia impostato per l'invio delle email, però è comunque possibile inviarle usando SMTP.

    Riesci a sapere se il php è impostato per l'invio delle email?

  7. #7
    Riesci a sapere se il php è impostato per l'invio delle email?
    Secondo me il php è impostato correttamente per l'invio mail...anche io avevo penstao ad un problema nella configurazione del php ma se joomla invia le mail pesavo che anche il mio script dovesse inviarle....o sbaglio???
    Comunque ecco come ho configurato il mial function all'interno di php.in

    [mail function]
    ; For Win32 only.
    SMTP = localhost
    smtp_port=25

    ; For Win32 only.
    ;sendmail_from = me@example.com

    ; For Unix only. You may supply arguments as well (default: 'sendmail -t -i').
    sendmail_path = /usr/sbin/sendmail/ -t -i
    CICCIOS100
    Domandare è lecito, rispondere è cortesia

  8. #8
    Originariamente inviato da ciccios100
    Secondo me il php è impostato correttamente per l'invio mail...anche io avevo penstao ad un problema nella configurazione del php ma se joomla invia le mail pesavo che anche il mio script dovesse inviarle....o sbaglio???
    Comunque ecco come ho configurato il mial function all'interno di php.in

    [mail function]
    ; For Win32 only.
    SMTP = localhost
    smtp_port=25

    ; For Win32 only.
    ;sendmail_from = me@example.com

    ; For Unix only. You may supply arguments as well (default: 'sendmail -t -i').
    sendmail_path = /usr/sbin/sendmail/ -t -i
    Confermo che il PHP e ben configurato....
    ho prova anche a spostare l'intera funzione su un server linux (ARUBA)
    Le e-mail continuano a non essere spedite.....
    Nessuna idea a riguardo??
    CICCIOS100
    Domandare è lecito, rispondere è cortesia

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Sei sicuro che l'indirizzo email del destinatario si trovi in $row[3]?
    Prova a mettere un
    echo $row[3];
    e vedi se i scrive effettivamente l'indirizzo.

  10. #10
    Originariamente inviato da Alhazred
    Sei sicuro che l'indirizzo email del destinatario si trovi in $row[3]?
    Prova a mettere un
    echo $row[3];
    e vedi se i scrive effettivamente l'indirizzo.
    Originariamente inviato da ciccios100
    Posto la funzione, e premetto che ho provato a sostituire la variabile $row[3]; con una stringa del tipo "info@miodominio.it". L'ultima riga di codice mi stampa la stringa mail inviata correttamente ma la mail non parte....
    1)
    Già fatto....Potrei chiederti un favore???
    Se provi questa funzione su un tuo server la funzione invia o no le email.
    Io ci ho provato su due server diversi uno confi da me e uno di Aruba ma il problema è identico....ora il problema è nei server che non sono abilitati ad inviare mail,(allora mi dedico a cercare qualsiasi cosa per la configurazione del server Centos), oppure il mio problema è nel codice PHP ????
    Non c'è modo di sapere dove si blocca l'invio delle mail???
    Un log delle email che non riescono a partire??? almeno così saprei dove guardare....

    2)
    Mi ritrovo a rileggere il dialogo che abbiamo avuto in questi giorni, e la mia attenzione cade su questa risposta:
    Ti ho chiesto di Joomla perché potrebbe essere che il php presente sul server non sia impostato per l'invio delle email, però è comunque possibile inviarle usando SMTP.
    Cosa intendevi dire con :
    è comunque possibile inviarle usando SMTP
    posso specificare l'smtp nel codice PHP e superare un eventuale problema di configurazione del server???
    Se si come??? mi potresti postare un esempio????

    Grazie mille per la collaborazione e la pazienza
    CICCIOS100
    Domandare è lecito, rispondere è cortesia

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.