Risultati da 1 a 7 di 7

Discussione: Eroore su invio email

  1. #1
    paperinik4 è offline Forumista DOC
    Data Registrazione
    May 2011
    Messaggi
    1,186

    Eroore su invio email

    Salve a tutti,

    Apro una nuova discussione, sperando che qualche buon anima mi possa aiutare. Il punto è questo. Ho eseguito una prova, chiedendo di registrare solo l'indirizzo email, l'indirizzo viene registrato, ma non mi invia l'email, anzi mi da un errore. Premessa:

    Lavoro tutto sul synology (nas),

    Adopero come editor netbeans 7.01

    Adopero come email principale gmail che ha la porta 465

    Windows 7 home (sul portatile) o Ultimate (sul fisso, dipende se sto a casa o al mare)

    Mi connetto tramite una vpn al nas

    Ora posto i codici di quello che ho fatto. Il primo si chiama come file insemail.php

    Eccolo qua:

    Codice PHP:

    <?php
    require_once("connetti.php");


    if (!isset(
    $_POST['reg'])) {
        
        
    ?>
        <html>
            <head>
            </b></em></hr>
                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <title>Inserimento Email</title>
        <h1> <center>
                BENVENUTO INSERIRE SOLO L'EMAIL PREGO !!! </H1>
                <b> <hr> <em>  </b> </hr> </em>
                       
                <form action= '' method="POST">
                    <center>
                    <font face="Comic Sans MS">
                    Email:    <input type="text" name="email"  maxlength="40" size ="42"> <br> <br>
       
                    </font>
                        <center>
                       <input type="submit" name="reg" value="Invio Email" />
                        <input type="submit" name="uscita" value="Uscita" />
                    </center>    

    </head>
        <body>
            <?php
          
    } else {
        
        
        
    $email mysql_real_escape_string(trim($_POST['email']));
       
        
     
    $ok_ko ="";

     
     if(
    $email ==""){ $ok_ko .=  "Attenzione: il campo email deve essere compilato. <br> <br>";}

     if(!
    filter_var($emailFILTER_VALIDATE_EMAIL)){
            
    $ok_ko .= "indirizzo email non valido<br>";
            
        } 
        
        
    // Controllo se esiste l'email nel db

    $checkemail=mysql_query("SELECT email FROM email WHERE email='$email'");
    $vuota=mysql_num_rows($checkemail);
    if(
    $vuota 0){
        echo 
    "<br> <br> <h1> Attenzione: l'email: ".$email." è già presente nell'archivio. Si prega di cambiare email. Grazie !!! </h1>";
    echo 
    "<meta http-equiv='Refresh' content=1; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    exit();

    }
    if(
    $ok_ko !=""){
            echo 
    "<h1>$ok_ko</h1>";

            echo 
    "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
      exit();
    //recupero i campi di tipo "stringa"
       
       
    $email     trim($_POST['email']); 
       
       
            }else{
     
    $q_i=mysql_query("INSERT INTO email(email) VALUES('$email')");
     
     
    echo 
    "<h1> <br>Email registrata correttamente. Controlla la tua email. Dovrebbe essere stat inviata un'email di conferma. Accettare per abilitare l'account. Grazie. !!!</h1>";//e torno al form
                //echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";

    require_once("invioemail.php");
    }
    }
    ?>
        </body>
    </html>
    Il secondo, invece si chiama per l'appunto: invioemail.php Ed eccolo qua:

    Codice PHP:

    <?php

    require_once("connetti.php");

    $to "fabiodefelice72@gmail.com";
    $subject "Test mail";
    $message "Hello! This is a simple email message.";
    $from "paperinik4@gmail.com";
    $headers "From:" $from;
    mail($to,$subject,$message,$headers);
    echo 
    "Mail Sent.";

    ?>
    Ora, considerando che ho la connessione di libero (infostrada), e non mi ricordo purtroppo smtp, che va inserito nel file php.ini, posto qui sotto una semplice configurazione del mio php.ini, situato sul synology. Eccolo qua:

    Codice PHP:

    [mail function]
    ; For 
    Win32 only.
    http://php.net/smtp
    SMTP smtp.gmail.com
    ;SMTP synology (ovviamente qua c'è il mio indirizzo ip)
    ; http://php.net/smtp-port
    smtp_port = 465
    ;smtp_port = 25 
    Considerate che, con altervista lo stesso codice e le stesse modifichhe c(ossia mettendo l'indirizzo ip del mio synology), parte. Invece dal synology direttamente no. non capisco più cosa debbo fare. Aiutatemi vi prevo. Un ultima cosa, vi posto la tabella di insemail.

    Eccola:

    Codice PHP:

    create table email 
    (

    id         INT UNSIGNED NOT NULL AUTO_INCREMENT,
    email           VARCHAR(40NOT NULL,
    autorizzato     ENUM('0''1') DEFAULT '0',
    PRIMARY KEY (id)
    ); 
    Grazie a tutti in anticipo.
    Ultima modifica di criric; 01-08-2012 alle 19:53

  2. #2
    Paperino78 è offline Utente del Forum
    Data Registrazione
    Jun 2012
    Messaggi
    232
    Ciao Paperini4,
    per quello che so dovresti mettere nel file php.ini l'smtp del provider con il quale ti colleghi. Non mi è chiaro però se tu le modifiche le fai in remoto o in locale. Nel caso fosse la seconda dovresti mettere l'smtp di libero che puoi trovare in rete e dovrebbe essere smtp.libero.it con autenticazione.

    Oltre non so.

  3. #3
    paperinik4 è offline Forumista DOC
    Data Registrazione
    May 2011
    Messaggi
    1,186
    Citazione Originariamente Scritto da Paperino78 Visualizza Messaggio
    Ciao Paperini4,
    per quello che so dovresti mettere nel file php.ini l'smtp del provider con il quale ti colleghi. Non mi è chiaro però se tu le modifiche le fai in remoto o in locale. Nel caso fosse la seconda dovresti mettere l'smtp di libero che puoi trovare in rete e dovrebbe essere smtp.libero.it con autenticazione.

    Oltre non so.
    Ciao,

    Allora, innanzi tutto grazie per avermi risposto. Secondo poi, io mi connetto tramite un programmino che si chiama putty, ed io entro come root e metto la password. Quindi credo che sia in remoto o sbaglio ??? Per quanto riguarda l'smtp, grazie della rinfrescata. Non ricordavo, ma ti confermo che è quello. Se invece dovessi connettermi in remoto cosa dovrei fare secondo te ??? Inoltre, ti ricordo che lavoro tutto sul NAS e l'apparecchio adopera il sistema Linux (ovviamente modificato per la macchina). Un ultimo dubbio in proposito, il php lavora sotto Windows e non sotto Linux giusto ??? Non so cosa fare... Grazie comunque.

  4. #4
    Paperino78 è offline Utente del Forum
    Data Registrazione
    Jun 2012
    Messaggi
    232
    Ciao, allora per quanto riguarda putty penso sia un collegamento da remoto via terminale, senza interfaccia grafica, ma potrei sbagliarmi, conosco qualcosa di linux ma non ci lavoro da moltissimo tempo. Quanto al php esiste anche su linux, sicuro, oltre non saprei che dirti. L'unica cosa è che potresti testare il lavoro in locale sul pc e poi inviarlo al server per l'uso corrente.

    Ciao

  5. #5
    paperinik4 è offline Forumista DOC
    Data Registrazione
    May 2011
    Messaggi
    1,186

    Ciao

    Ciao,

    Si difatti è senza grafica putty. Allora sicuramente è in accesso remoto. Però non capisco perchè hai distinto tra lremoto e locale, evidentemente ci deve essere una bella differenza fra loro presumo. Comunque, io sono iscritto ad altervista, e ho fatto la prova dello stesso codice, e l'email la invia. Quindi ciò vuol dire che il settaggio sotto windows dovrebbe essere giusto e i dati di connessione li prende direttamente dal nas. Ossia il famoso file connetti.php o config.pnp a secondo di uno come lo chiama. In xampp, non c'ho provato. Quindi intendo in locale. Ora vado a fare la prova dei scuscini. Ci sentimo se hai notizie nel pome. Ti ringrazio comunque dell'interessamento.

    P.S.: Ho messo nel programma phpmailer, cosa che mi hanno suggerito. Adesso mi da sto errore qua che non capisco cosa voglia dire, se magari me lo puoi tradurre grazie.

    L'errore è il seguente:

    Warning: mail(): Failed to send mail. (500 STAR command unrecognized) in xxx/xxx/xxx/invioemail.php on line 11 Mail Sent.
    Ultima modifica di paperinik4; 02-08-2012 alle 14:23

  6. #6
    Paperino78 è offline Utente del Forum
    Data Registrazione
    Jun 2012
    Messaggi
    232
    Ho distinto remoto e locale perchè molti preferiscono testare in locale, cioè sul proprio pc, il lavoro e poi inviarlo al server. Quanto all'errore che ti da cioè:
    Warning: mail(): Failed to send mail. (500 STAR command unrecognized) in xxx/xxx/xxx/invioemail.php on line 11 Mail Sent.
    bisogna vedere il file invioemail.php che hai e vedere alla riga 11 che cosa hai messo. Il problema che ho avuto anche io è quello di tenere la funzone mail() nel codice. Invece con phpmailer la devi togliere e sostituirla con il codice
    Codice PHP:
    if(!$mail->Send()){ //errore di trasmissione
        
    echo "errore";
    }else{ 
    //invio avvenuto
        
    echo "invio ok";
    }
    //.... 
    Ciao alla prox.

  7. #7
    paperinik4 è offline Forumista DOC
    Data Registrazione
    May 2011
    Messaggi
    1,186

    Ciao

    Ciao,

    Risvegliato dalla prova cuscini (funzionato alla grande),
    Ti ringrazio dei chiarimenti. Ti posto il codice che c'è su invioemail.php. Eccolo qua:


    Codice PHP:

    require_once("connetti.php");
    //include_once ('phpmailer.inc.php');

    $to "xxx72@gmail.com";
    $subject "Test mail";
    $message "Hello! This is a simple email message.";
    $from "paperinik4@gmail.com";
    $headers "From:" $from;
    mail($to,$subject,$message,$headers);
    echo 
    "Mail Sent."
    La riga 11 di cui parla l'errore è la seguente:

    Codice PHP:

    11 
    --> mail($to,$subject,$message,$headers); 
    Al primo ho tolto la mia email originale con nome cognoem questione di privacy, ma comunque mi chiamo Fabio da Roma. piacere. Io presumo che l'errore suia altrore più che concentrato su quella riga.

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •