Visualizzazione dei risultati da 1 a 7 su 7

Discussione: controllo campo mail

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    48

    controllo campo mail

    Scusate, qualcuno mi può aiutare a sistemare?

    Vorrei mettere un controllo all'invio delle mail da un form (utilizzo Asp Mail); il mio file .asp è quelllo che segue, e vorrei che se nel campo "titolo" (oppure messaggio) fosse scritto un determinato carattere/testo la mail non venga inviata; preferisco farlo nel file asp e non con uno script direttamente nel form poichè è facilmente superabile.
    Ho messo la condizione if titolo .... che vedete in fondo al codice, il messaggio compare ma la mail parte ugualmente; qualche idea su cme posso risolvere?

    Grazie


    <%
    nome = Request.form("nome")
    email = Request.form("email")
    titolo = Request.form("titolo")
    messaggio = Request.form("messaggio")
    telefono = Request.form("telefono")
    data=now()
    host=Request.ServerVariables("REMOTE_HOST")

    to_name = "Ufficio"
    to_email = "indirizzo@mail.estensione"
    smtp = "indirizzo smtp"
    url_risposta = "http://www.sito/risposta.htm"

    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")

    Mailer.QMessage = true
    Mailer.FromName = nome
    Mailer.FromAddress= email
    Mailer.RemoteHost = smtp
    Mailer.AddRecipient to_name , to_email
    Mailer.Subject = titolo


    Mailer.BodyText="Data richiesta: " & data & VbCrLf & "Host di provenienza: " & host & VbCrLf &

    VbCrLf & "Oggetto: " & titolo & VbCrLf & "Nome cliente: " & nome & VbCrLf & "Telefono: " &

    telefono & VbCrLf & "Indirizzo email: " & email & VbCrLf & VbCrLf & "Testo del messaggio: " &

    messaggio

    if not Mailer.SendMail then
    Response.Write "Mailing Failed... Error is:
    "
    Response.Write Mailer.Response
    else
    if titolo = "parola/carattere che non si può scrivere" then
    Response.Write ("Hai scritto un carattere non valido nel campo oggetto - Usa la

    freccia indietro del broswer per tornare all'inserimento")
    else
    response.redirect url_risposta
    end if
    end if
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Innanzitutto è inutile preparare tutta l'email e solo dopo controllare cosa sia contenuto nel campo titolo...
    Devi farlo subio il controllo e se lo supera prepari ed invii l'email.
    Inoltre per vedere se una parola sia contenuta un una stringa si usa la funzione InStr()

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    48
    Grazie per la risposta.

    Infatti...., ma nel caso specifico ho provato a mettere:

    if titolo = "parola/carattere che non si può scrivere" then
    Response.Write ("Hai scritto un carattere non valido nel campo oggetto - Usa la

    freccia indietro del broswer per tornare all'inserimento")
    else

    più in alto nel codice, ma il risultato è identico...

    "per vedere se una parola sia contenuta un una stringa si usa la funzione InStr()"

    scusa, ma non mi è chiaro cos'è.

    Tieni conto che il codice così come l'ho postato l'ho preso da un sito che purtroppo nulla diceva sulla possibilità di aggiungere dei controlli e che come penso sia chiaro non è che sia molto esperto...

    Grazie.

    Giovanni.

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    http://www.w3schools.com/vbscript/func_instr.asp

    1) recuperi i campi del form
    2) fai i controlli
    3) mandi l'email

    Roby

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    48
    Capisco la logica, ma non riesco a tradurre in codice l'esempio che mi hai postato per il mio caso specifico.

    Grazie

    Giovanni

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    <% 
    nome = Request.form("nome")
    email = Request.form("email")
    titolo = Request.form("titolo")
    messaggio = Request.form("messaggio")
    telefono = Request.form("telefono")
    data=now()
    host=Request.ServerVariables("REMOTE_HOST")
    
    if titolo = "parola/carattere che non si può scrivere" then
    Response.Write ("Hai scritto un carattere non valido nel campo oggetto - Usa la 
    
    freccia indietro del broswer per tornare all'inserimento")
    
    else
    
    to_name = "Ufficio"
    to_email = "indirizzo@mail.estensione"
    smtp = "indirizzo smtp"
    url_risposta = "http://www.sito/risposta.htm"
    
    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
    
    Mailer.QMessage = true
    Mailer.FromName = nome
    Mailer.FromAddress= email
    Mailer.RemoteHost = smtp
    Mailer.AddRecipient to_name , to_email
    Mailer.Subject = titolo
    
    Mailer.BodyText="Data richiesta: " & data & VbCrLf & "Host di provenienza: " & host & VbCrLf & 
    
    VbCrLf & "Oggetto: " & titolo & VbCrLf & "Nome cliente: " & nome & VbCrLf & "Telefono: " & 
    
    telefono & VbCrLf & "Indirizzo email: " & email & VbCrLf & VbCrLf & "Testo del messaggio: " & messaggio 
    
    else
    response.redirect url_risposta
    end if
    %>

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    48
    Perfetto!

    Ti ringrazio moltissimo

    Giovanni.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.