• User

    ho copiato ed inserito esattamente il codice così come l'hai riportato nel post (ovviamente inserendo il mio url) e se provo ad inviare una mail mi esce questa scritta:

    Errore! E-mail non inviata!


  • User Attivo

    [php]
    <?PHP
    //scwd^^
    //La funzione creacodice genera una stringa random di un numero di caratteri pari a
    //$n_caratteri che si trovano nell'array $caratteri (lettere alfabeto e numeri)
    $caratteri=array('a','b','c','d','e','f','g','h',' i','j','k','l','m','n','o','p','q','r','s','t','u' ,'v','x','y','z','0','1','2','3','4','5','6','7',' 8','9');
    $codice="";
    $n_caratteri=4; //Numero di caratteri da generare
    for($i=0; $i<$n_caratteri; $i++)
    {
    $x=rand(0,35);
    $codice=$codice.$caratteri[$x];
    }
    if($ctrl==1)
    {
    $verifica_mail = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $mail);
    $x=strcmp($codice_creato,$cod);
    //Controllo campi inseriti
    if(($nome=="")||($mail=="")||($richiesta=="")||(!$ verifica_mail)||($x!=0)||($citta==""))
    {
    echo "<font face="verdana" size="2">
    Attenzione - si sono riscontrati i seguenti errori:<br>
    ";
    if($nome=="")
    {echo "<li>Nome non inserito;";}
    if($mail=="")
    {echo "<li>E-mail non inserita;";}
    if($richiesta=="")
    {echo "<li>Testo non inserito;";}
    if(!$verifica_mail)
    {echo "<li>E-mail non valida;";}
    if($citta=="")
    {echo "<li>Città non inserita;";}
    if($x!=0)
    {echo "<li>Codice di conferma inserito non valido;";}
    echo "<br><a href="info_xxxxx.php">Torna indietro</a> e re-inserisci i valori nei campi.<br></font>";
    }
    else
    {
    $oggetto="Richiesta dal tuo sito"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From: Dal tuo sitohttp://www.xxxxxx.xxx\n";
    $header .= "X-Mailer: Il nostro Php\n";
    // costruiamo le intestazioni specifiche per il formato HTML
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset="iso-8859-1"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    $corpo="<br>
    Nome: $nome;<br>
    Citta: $citta;<br>
    e-mail: $mail;<br>
    Codice casa: $cod_casa;<br>
    IP: $REMOTE_ADDR;<br>
    Testo del messaggio:<br>
    $richiesta<br>
    <br>
    _______________________________________________<br >
    SCWD";
    if( @mail($mail,$oggetto,$corpo,$header))
    {echo "<br><br><font face=verdana size=3 color=blue><b><center>$nome e-mail inviata con successo.</center></b><br></font>";}
    else
    {echo "<br><br><font face=verdana size=3 color=red><b><center>Errore! E-mail non inviata!</center></b><br></font>";}
    }
    }
    else
    {
    echo "
    <form name="info_xxxxx" action="info_xxxxxx.php?ctrl=1&codice_creato=$cod ice" method="post">
    <table align="center">
    <tr>
    <td>
    *Nome
    </td>
    <td>
    <input type="text" size="30" name="nome">
    </td>
    </tr>

    <tr>
    <td>
    *Città
    </td>
    <td>
    <input type="text" size="30" name="citta">
    </td>
    </tr>

    <tr>
    <td>
    *e-mail
    </td>
    <td>
    <input type="text" size="50" name="mail">
    </td>
    </tr>

    <tr>
    <td>
    *Codice casa
    </td>
    <td>
    <select name="cod_casa" style="width: 150px">
    <option selected="selected">$cc</option>
    <option>01</option>
    <option>02</option>
    <option>03</option>
    <option>04</option>
    <option>05</option>
    <option>06</option>
    <option>07</option>
    <option>08</option>
    <option>09</option>
    </select>
    </td>
    </tr>

    <tr>
    <td>
    *Richiesta
    </td>
    <td>
    <textarea name="richiesta" rows="5" style="width: 400px" cols="100"></textarea>
    </td>
    </tr>

    <tr>
    <td>
    *Codice di verifica:<br><b>$codice</b>
    </td>
    <td>
    <input type="text" size="20" name="cod">
    </td>
    </tr>

    <tr>
    <td colspan="2">
    <input type="submit" value="Invia" name="submit">
    </td>
    </tr>
    </table>
    </form>";
    }
    ?>
    [/php]
    Provato così?


  • User

    adesso non pare proprio la pagina. Mi compare la scritta errore line 112 ....


  • User Attivo

    Guarda l'ho ri-ri-rivisto 😄 a me ora funziona così:
    [PHP]
    <?PHP
    //scwd^^
    //La funzione creacodice genera una stringa random di un numero di caratteri pari a
    //$n_caratteri che si trovano nell'array $caratteri (lettere alfabeto e numeri)
    $caratteri=array('a','b','c','d','e','f','g','h',' i','j','k','l','m','n','o','p','q','r','s','t','u' ,'v','x','y','z','0','1','2','3','4','5','6','7',' 8','9');
    $codice="";
    $n_caratteri=4; //Numero di caratteri da generare
    for($i=0; $i<$n_caratteri; $i++)
    {
    $x=rand(0,35);
    $codice=$codice.$caratteri[$x];
    }
    if($ctrl==1)
    {
    $verifica_mail = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$", $mail);
    $x=strcmp($codice_creato,$cod_immesso);
    //Controllo campi inseriti
    if(($nome=="")||($mail=="")||($richiesta=="")||(!$verifica_mail)||($x!=0)||($citta==""))
    {
    echo "<font face="verdana" size="2">
    Attenzione - si sono riscontrati i seguenti errori:<br>
    ";
    if($nome=="")
    {echo "<li>Nome non inserito;";}
    if($mail=="")
    {echo "<li>E-mail non inserita;";}
    if($richiesta=="")
    {echo "<li>Testo non inserito;";}
    if(!$verifica_mail)
    {echo "<li>E-mail non valida;";}
    if($citta=="")
    {echo "<li>Città non inserita;";}
    if($x!=0)
    {echo "<li>Codice di conferma inserito non valido;";}
    echo "<br><a href="info_xxxxx.php">Torna indietro</a> e re-inserisci i valori nei campi.<br></font>";
    }
    else
    {
    $oggetto="Richiesta dal tuo sito"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From: Dal tuo sitohttp://www.xxxxxx.xxx\n";
    $header .= "X-Mailer: Il nostro Php\n";
    // costruiamo le intestazioni specifiche per il formato HTML
    $header .= "MIME-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset="iso-8859-1"\n";
    $header .= "Content-Transfer-Encoding: 7bit\n\n";
    $corpo="<br>
    Nome: $nome;<br>
    Citta: $citta;<br>
    e-mail: $mail;<br>
    Codice casa: $cod_casa;<br>
    IP: $REMOTE_ADDR;<br>
    Testo del messaggio:<br>
    $richiesta<br>
    <br>
    _______________________________________________<br >
    SCWD";
    if( @mail($mail,$oggetto,$corpo,$header))
    {echo "<br><br><font face=verdana size=3 color=blue><b><center>$nome e-mail inviata con successo.</center></b><br></font>";}
    else
    {echo "<br><br><font face=verdana size=3 color=red><b><center>Errore! E-mail non inviata!</center></b><br></font>";}
    }
    }
    else
    {
    echo "
    <form name="info_xxxxx" action="xxxx.php?ctrl=1&codice_creato=$codice" method="post">
    <table align="center">
    <tr>
    <td>
    *Nome
    </td>
    <td>
    <input type="text" size="30" name="nome">
    </td>
    </tr>
    <tr>
    <td>
    *Città
    </td>
    <td>
    <input type="text" size="30" name="citta">
    </td>
    </tr>
    <tr>
    <td>
    *e-mail
    </td>
    <td>
    <input type="text" size="50" name="mail">
    </td>
    </tr>
    <tr>
    <td>
    *Codice casa
    </td>
    <td>
    <select name="cod_casa" style="width: 150px">
    <option selected="selected">$cc</option>
    <option>01</option>
    <option>02</option>
    <option>03</option>
    <option>04</option>
    <option>05</option>
    <option>06</option>
    <option>07</option>
    <option>08</option>
    <option>09</option>
    </select>
    </td>
    </tr>
    <tr>
    <td>
    *Richiesta
    </td>
    <td>
    <textarea name="richiesta" rows="5" style="width: 400px" cols="100"></textarea>
    </td>
    </tr>
    <tr>
    <td>
    *Codice di verifica:<br><b>$codice</b>
    </td>
    <td>
    <input type="text" size="20" name="cod_immesso">
    </td>
    </tr>
    <tr>
    <td colspan="2">
    <input type="submit" value="Invia" name="submit">
    </td>
    </tr>
    </table>
    </form>";
    }
    ?>
    [/PHP]
    Attento a quello che modifichi 😉


  • User

    scwd mi dispiace continuare a scocciarti ma il problema non è risolto.

    Reimpio i campi, invio la mail ma anzichè ricevere nella mia casella di posta la mail del mittente mi giunge questo testo :

    Dal tuo sito <ttp:// w*. [email protected]>

    Può essere che il problema derivi proprio da aruba?


  • User Attivo

    Questo lo manda perchè è il server a mandare la mail...però io con aruba non avevo questi problemi...riprova a reinserire l'e-mail anzichè il sito...mah 😄


  • User

    nulla di nuovo, inserendo la mail al posto dell'url mi giunge nell'indirizzo del mittente il mio indirizzo.


  • User Attivo

    Qualcun'altro ha una soluzione?


  • Consiglio Direttivo

    @salinger said:

    nulla di nuovo, inserendo la mail al posto dell'url mi giunge nell'indirizzo del mittente il mio indirizzo.
    Ciao salinger
    spero di non aver fatto confusione nel comprendere il problema 😉

    mi pare di capire che dal form l'utente ti manda una mail al tuo indirizzo e dovrebbe arrivarti:
    Mittente: mail dell'utente
    Destinatario: la tua mail

    Recuperati i dati dovrai assegnare la variabile che memorizza la mail dell'utente nell'header FROM
    [php]$header = "From: ".$mail_utente."\n";[/php]

    Se ho capito bene il problema dovrebbe essere questo.....se ho capito male....pardon 😄

    :ciauz:


  • User Attivo

    Si è così Samyron 😄 ma il problema è che a lui come mittente gli continua ad arrivare quel benedetto server di aruba 😛


  • Consiglio Direttivo

    ciao scwd
    finchè l'header rimane in questo modo
    [php]$header = "From: Dal tuo sitohttp://www.xxxxxx.xxx\n";[/php]
    gli arriverà perforza il server aruba 😄

    dovrà modificarlo in tal modo
    [php]$oggetto="Richiesta dal tuo sito"; //Oggetto del messaggio
    $mail="[email protected]"; //e-mail destinatario
    $header = "From: ".$mail."\n"; // da e-mail utente[/php]

    vediamo se così funge 😉


  • User Attivo

    Samyron lo so purtroppo eheh 😄 No ti spiego, praticamente se vedi un pò più su ho detto di mettere l'e-mail nel From ma purtroppo continua ad avere problemi, mentre a me non mi da problemi ne se inserisco l'e-mail ne se inserisco l'indirizzo del mio sito, però aruba da problemi, quindi l'unica è riprovare come dici tu di nuovo con l'e-mail e speriamo bene 😄


  • Consiglio Direttivo

    Allora mi era sfuggito quel passo, chiedo venia 😉

    Vediamo un po', non si sa mai 😉


  • User Attivo

    ehehe speriamo bene 😄


  • Bannato User Attivo

    Scusate, sono stata via qualche giorno e non ho ancora avuto modo di testare il metodo gentilmente fornito da scwd 🙂
    però da quello che ho capito leggendo queste pagine, si tratta di un'intera pagina php, io invece, non sapendo proprio come gestirlo, preferirei un solo modulo inserito normalmente in una pagina html come ho ora. A proposito, non ho più notato messaggi di spam sulla mia casella tramite il mio modulino, però quello che mi crea anche problemi è che la posta dal sito mi perviene sempre con un antipatico anonymous@localhost e non ho mai capito perché..

    Cosa mi consigliate? Se decido di provare anch'io la soluzione di scwd, qual'è la versione corretta? :tongueout:


  • User Attivo

    Allora vale vediamo un pò, la soluzione è l'ultima postata da me, mentre per quello che vuoi tu chiaramente si può fare spiegami un pò meglio che form hai e tutto e lo controlliamo, mentre per quel problema, è lo stesso che ancora è in sospeso su alcune server funziona, per renderti le cose più facili per il problema dell'anonymous anzichè leggere nel mio script, samyron ha postato una soluzione nel suo penultimo messaggio, dovrebbe andare quella,
    per qualsiasi cosa 😉


  • User

    Ciao a tutti ragazzi, io ho un problema: ho modificato il codice di scwd, in principio funzionava correttamente, poi ho aggiunto dei campi e ho fatto un po' di indentaggio del codice. Poi ho eliminato il textarea "text" perché non serviva per le mie necessità.

    In realtà funziona tutto molto bene: se ad esempio non inserisci un campo obbligatorio, si ridireziona verso una pagina dove vengono elencate tutte le omissioni, compreso il codice di sicurezza. Il problema si pone quando inserisci tutto correttamente, premendo su invia va a finire nella stessa pagina dove elenca le omissioni, solo che non ci sono omissioni, però comunque non la invia l'email. Se non ci sono omissioni perché lo script non funziona per bene?

    Io incollo il codice, spero che qualcuno possa darmi una mano, magari lo stesso scwd 🙂

    Grazie in anticipo
    Andrea


  • User

    Probabilmente c'è un bug nelle regole del forum, non mi fa inserire il codice sorgente del form perche dice che c'è un link attivo...boh

    Provo a mettervelo qua:

    viento.it/codice_form.txt

    Vedete se funziona
    Grazie
    Ciao


  • User

    ringrazio scwd ed il moderatore per la disponibilità mostrata.

    Ho provato il form con la modifica suggerita dal moderatore e adesso nella mia casella di posta mi giunge una mail con indirizzo il mio indirizzo.

    Pur nella mia ignoranza di php mi viene di supporre che ciò sia dovuto
    al fatto che inserendo

    $header = "From: ".$mail."\n"; // da e-mail utente

    come mail cerca la mia e non quella dell'utente. In buona sostanza credo che $mail vada cambiata in tutto il form magari scrivendo $mail_utente per differenziarla da quella del mio indirizzo di posta.

    Che dite?


  • Consiglio Direttivo

    ciao salinger

    la risposta al quesito è ovviamente si 😄
    se $mail contiene la tua mail, la mail dell'utente la devi per forza chiamare in altro modo e quindi sostituire la variabile in quell'header e nel resto dello script dove viene utilizzata 😉