Fatto tutto!
posto il codice che è sicuramente da pulire.
Anzi se qualcuno me lo pulisce meglio.
Comunque così funziona!!
Da un form registro i dati ad un database access 2003 ed allo stesso tempo manda una email a me per sapere che è avvenuta una nuova richiesta ed alla fine una pagina di GRAZIE che dopo alcuni secondi viene reindirizzato alla HOME.
Pagina form:
codice:
<form action="formcdosys.asp" method="post" name="form1" onSubmit="MM_validateForm('email','','RisEmail');return document.MM_returnValue"> <input type="text" name="nome" size="25"> <input type="text" name="cognome" size="25"> <input type="text" name="telefono" size="25"> <input type="text" name="email" size="25"> <input type="text" name="provenienza" size="25"> <textarea style="overflow:hidden" name="messaggio" rows="2" cols="30" wrap="VIRTUAL"></textarea> <input type="submit" name="Submit" value="Invia"> </form>
pagina asp composta da 2 script, uno che regista e l'altro che spedisce la mail:
codice:
<% ' Recuperiamo i dati dal form dim strNome strNome = request.form("nome") dim strCognome strCognome = request.form("cognome") dim strTelefono strTelefono = request.form("telefono") dim strEmail strEmail = request.form("email") dim strProvenienza strProvenienza = request.form("provenienza") dim strMessaggio strMessaggio = request.form("messaggio") ' Verifichiamo che i campi non siano vuoti... If strNome <> "" and strCognome <> "" and strTelefono <> "" and strEmail <> "" and strProvenienza <> "" and strMessaggio <> "" Then ' Se i campi NON sono vuoti procediamo... ' Connessione al DB myDB = "../mdb-database/UTENTI.mdb" Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(myDB) ' Lavoriamo sul Recordset Dim rs Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "richieste", conn, 3, 3 rs.addnew rs("nome") = strNome rs("cognome") = strCognome rs("telefono") = strTelefono rs("email") = strEmail rs("provenienza") = strProvenienza rs("messaggio") = strMessaggio rs.update ' Chiusura del database rs.Close set rs = Nothing conn.Close set conn = Nothing ' Risposta a video di conferma response.write "Fatta!!" ' Se i campi SONO vuoti... Else response.write "Errore! Nessun campo può essere vuoto!" ' Chiudiamo la condizione IF End If %> <% '============Linkbruttocane su specifiche MSDN================ '* il corpo finale del messaggio contiene tutti i campi * '* inseriti nella pagina html, in pratica puoi mettere * '* tutti i campi che ti servono nel modulo di invio senza * '* fare altre configurazioni aggiuntive. * '============================================================= DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo '* voce da modificare con il proprio indirizzo email invioA = "info@jesolomassage.com" '* voce da modificare con un indirizzo email che funga da mittente: '* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON '* dato che cdosys supporta questa notifica invioDa = "info@jesolomassage.com" '------------fine modifiche necessarie------------------ nomeDominio = Request.ServerVariables("HTTP_HOST") indirizzoIp = Request.ServerVariables("REMOTE_ADDR") modulo = Request.ServerVariables("HTTP_REFERER") browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT") '*rilevo i campi del form FOR numeroCampi = 1 TO (Request.Form.Count() - 1) IF NOT Request.Form(numeroCampi) = "" THEN corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi)) END IF NEXT '* creo gli oggetti cdosys sul server e li gestisco DIM iMsg, Flds, iConf Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") Set Flds = iConf.Fields Flds(cdoSendUsingMethod) = cdoSendUsingPort Flds(cdoSMTPServer) = "smtp.aruba.it" Flds(cdoSMTPServerPort) = 25 Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0 Flds.Update With iMsg Set .Configuration = iConf .To = invioA .From = Request.Form("email") .Sender = invioDa .Subject = "RICHIESTA INFORMAZIONI" .TextBody = "" & corpoMessaggio & "" .Send End With %> <script> document.location.replace('grazie.asp'); </script>
Io non so nulla di asp ma sono riuscito a far questo, magari può servire a uno che ne capisce meno di me.
Grazie