• User

    Allora...
    ho dato uno sguardo al codice della pagina / modulo... dove ho trovato mailto: ho inserito il mio indirizzo di posta e in effetti ho ricevuto la mail ma il contenuto è un allegato POSTDATA.ATT..... lo clicco e mi compare il messaggio.... "Il file non è associato a nessun programma per l'esecuzione dell'operazione. Creare un associazione in azioni cartella nel pannello di controllo"


  • Super User

    Nel caso dell'utilizzo di php il mailto non serve 😉


  • User

    Il PHP presumo sia un codice tipo l'html.... tu mi parli di 2 pagine, una in html...che credo sia quella presente in dreamweaver ovvero il Form...ma la seconda dov'è...


  • Super User

    La devi creare tu.
    File-nuovo e poi scegli estensione php e lì dentro metti il codice che ti ho dato tra i tag body.


  • User

    Ho creato una nuova pagina .php all'interno dei tag <body> ho copiato il codice che mi hai dato, ho inserito la mia email dopo mail...adesso che ne faccio di questa pagina...cosa significa che deve far parte dell'action script


  • Super User

    Hai le due pagine da farmi vedere?:)


  • User

    si come posso fare per inviartele?


  • Super User

    Non le hai sul server remoto? Nel senso, non puoi postare i link?? 🙂


  • User

    Scusami....ma così poi chiunque cliccandoci sopra entrerà nelle mie pagine? cavoli non mi è chiaro...qui vedo che posso allegare solo file .jpg e simili ok ci provo... ho inserito gli allegati ma nell'anteprima messaggio non li vedo


  • User

    i file che ho caricato erano .php e .html.....ma la finestra di invio mi diceva che non erano file validi


  • User

    ho ricevuto il tuo messaggio ma avevo il blocco pop up adesso dovrebbero essere abilitati ..puoi riprovare?


  • Super User

    Basta che clicchi sulla dicitura in alto a destra del forum "messaggi privati"...


  • Super User

    Il problema di Swamy è risolvibile con script lato server, ho capito dove sbagliava, aveva messo mailto nell'action della form al posto della pagina che processa il commento e lo invia all'indirizzo e-mail.
    🙂


  • Moderatore

    ciao,
    pikadilly, gentilissima, ti ha dato una risposta molto esauriente.

    Io però vorrei soffermarmi un attimo su un aspetto fondamentale che sta alle basi di un'applicazione dinamica come può essere un form per l'invio delle mail.

    Il codice che ti ha scritto pikadilly è in php, questo è un linguaggio lato server cioè un linguaggio di programmazione vero e proprio(più propriamente scripting).
    Questo linguaggio per funzionare ha necessità di un web server che può essere apache oppure iis.
    A secondo di cosa hai installato sul server che ospiterà il sito potrai utilizzare linguaggi differenti, nel caso il tuo web server fosse win avrai la possibilità di utilizzare sia php (ovviamente deve essere installato) oppure asp o asp.net

    Nel caso caso fosse linux allora la scelta è obbligatoria: php (in realtà avresti anche altre opzioni, ma non mettiamo troppa carne al fuoco)

    Perchè ti dico questo?
    Perchè prima di intraprendere la stesura di uno script è necessario sapere dove verrà allogiato lo stesso.

    Ipotiziamo che te hai un server linux con apache e php, lo script di pikadilly direi che è perfetto per il tuo scopo, perchè presenta tutte le caratteristiche per un buon mail form, dal controllo dei dati all'invio della mail.

    Passiamo al codice.
    Come ti è stato suggerito te necessariamente avere 2 pagine

    • la prima è la pagina dove è presente il form con le caselle di testo ed il pulsante per l'invio
    • la seconda è quella che elaborerà i dati ottenuti dalla prima ed invierà l'email.

    La prima pagina
    ipotiziamo che la prima pagina si chiami mail.htm e la seconda pagina,cioè quella che riceve i dati e li elaborerà si chiami pag2.php; avremo un codice simile a questo:

    MAIL.HTM:

    
    <html>
        <body>
            <form id="form1" method="post" name="form1" action="pag2.php">
                Email <input type="text" name="mail" id="mail"/>
                <br/>
                Messaggio
                <textarea id="body" name="body"></textarea>
                <br/>
                <input type="submit" value="Invia"/>
            </form>
        </body>
    </html>
    
    ```PAG2.PHP
    
    

    <html>
    <body>
    <?
    //Questo è un commento in php e verrà utilizzato per commentare il codice per rendere più semplice la lettura.

        //adesso viene fatto un controllo sul campo body
        //il campo body ovviamente si trova nella pag mail.htm
        //con l'istruzione $_POST['body'] andremo a recuperare il valore del campo body, la stessa cosa vale per gli altri campi
        //la funzione trim() verrà utilizzata per togliere eventuali spazi a sx e a dx della stringa presente nel campo body
        if ((trim($_POST['body']) != "")){
         //la variabile $to conterrà il tuo indirizzo email
         $to = "[email protected]";
         //la variabile body conterrà il valore del campo body
         $body = $_POST['body'];
         //la variabile $headers contiene gli headers delle email, cioè una serie di istruzioni necessarie al corretto invio della mail
         $headers = "From: " . $_POST['mail'] . "\n";
     
         //viene inviata la mail
         mail($to,$body,$headers);
         echo"Il commento è stato inviato correttamente.";
     }else{
         //il controllo sul campo body ha dato esito negativo quindi viene mostrato il messaggio di errore
         echo "Errore, deve compilare il modulo per inviare un commento.";
     }
        ?>
    </body>
    

    </html>

    Spero che questa spiegzione ti sia di aiuto se hai qualche problema noi siamo qui ;)
    :ciauz:

  • User

    Ciao...grazie per avermi risposto
    dunque altri chiarimenti,
    ti cito...
    (Questo linguaggio per funzionare ha necessità di un web server che può essere apache oppure iis.
    A secondo di cosa hai installato sul server che ospiterà il sito potrai utilizzare linguaggi differenti, nel caso il tuo web server fosse win avrai la possibilità di utilizzare sia php (ovviamente deve essere installato) oppure asp o asp.net)

    io utilizzo xp professional con ii, e in dreamweaver scelgo come tecnologia lato server uso ASP VBSsript. Cosa intendi "con php deve essere installato"?

    riguardo ai due file il MAIL.HTML e il PAG2.PHP li ho inseriti nella cartella del sito in dreamweaver come carinamente mi ha detto aiutandomi Piccadilly... ma dopo aver caricato il sito in remoto, apro la pagina per inviare il form e tento di inviarlo, mi compare un messaggio " Le impostazioni correnti non consentono il download del file"


  • Super User

    Bentrovata Swamy,
    io credo che in parte io ti abbia creato un pò di confusione.
    Tu hai un server remoto? Un sito www.miodomio.it o simili?
    Ieri sera ho provato la tua form nel mio sito e come hai ben visto ha funzionato, la mail ti è arrivata,io mi appoggio su server linux quindi uso php.
    Come dice Legolas se usi server windows e php non è istallato la form non può funzionare...bisogna sapere questa cosa almeno scegliamo il tipo di linguaggio adatto.
    🙂


  • User

    ok... cosa devo fare per attivare PHP in ii di windows xp prof?


  • Moderatore

    guarda a questo punto dato che hai detto di utilizzare win conviene farlo in asp non credi?

    lasci invariata la pagina mail.htm

    mentre al posto di PAG2.PHP crei PAG2.ASP

    e questo sarà il tuo codice:

    
            Dim strBody
            Dim CdoConfig
            Dim ObjMail
                             
            strBody= Trim(Request.Form("body"))
                              
            Set ObjMail = Server.CreateObject("CDO.Message")'  CDONTS.NewMail
            Set CdoConfig = CreateObject("CDO.Configuration")
                              
            With CdoConfig.Fields
    'Su questa riga devi settare il tuo smtp, se vuoi fare una prova dal computer di casa utilizza l'smtp del tuo fornitore di connettività
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost" 
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
                .Update
            End With
                              
            With ObjMail
                Set .Configuration = CdoConfig
                .From = Trim(Request.Form("mail"))
    
                'Qui devi mettere la tua email
                .To = "tua email"
                'Oggetto della mail
                .Subject = "Nuovo messaggio"
                .HTMLBody = StrCorpo
                On Error Resume Next
                .Send
            End With
            Set objMail = Nothing
            Set cdoConfig = Nothing
    
    

    :ciauz:


  • User

    ... allora dove hai scritto l'appunto, ho settato il mio smpt scrivendo semplicemente questo smpt:"out.alice.it" è corretta la sintassi?

    Poi... come pagina .html va bene quella proposta da dreamweaver 8 come modello? E' compatibile con il codice che mi hai inviato?

    Riepilogando, creo una pagina da modello DW con il Form, creo una pagina .PHP, do' ad entrambe lo stesso nome ma ovviamente hanno estensione diversa, poi carico in remoto


  • User

    scusami...la seconda pagina sarà .asp