- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- aiuto per form email con http_refer
-
aiuto per form email con http_refer
salve a tutti, ho bisogno di una mano per un form email che deve esplicare la funazione segnala errori.
quindi un utente che naviga sul mio sito e scopre un errore sulla pagina pino.asp, clicca sul link segnala errore, compila il form (con 2 campi oggeetto e desscrizione)
e lo invia alla mia email.
dopo qualche capriola ho messo insieme il codice qui sotto. funziona tutto.
solo chemi serva la funzione HTTP_REFER.qualcuno puo suggerermi il codice d'aggungere???
grazie!!
AUGURI!!!!!!
<%
' Crea l'oggetto CDOSYS
Set objMail = Server.CreateObject("CDO.Message")
Set objMailConfig = Server.CreateObject ("CDO.Configuration")
' Proprietà di invio
with objMailConfig
' SMTP mail server
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "commercialevirtuale.com"
' Autenticate
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpAuthenticate") = cdoBasic
' User
.Fields("http://schemas.microsoft.com/cdo/configuration/SendUserName") = "[EMAIL="[email protected]"][email protected][/EMAIL]"
' PW
.Fields("http://schemas.microsoft.com/cdo/configuration/SendPassword") = "XXXX"
' SMTP port
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
' CDO port
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
' Timeout
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.Update
end with
' Configurazione CDOSYS
Set objMail.Configuration = objMailConfig
with objMailobjMail.From="[email protected]"
objMail.To="[EMAIL="[email protected]"][email protected][/EMAIL]"
objMail.Subject=request.form("oggetto")
objMail.HTMLBody =request.form("descrizione")' Invia l'email
.Send
end with
Set objMail = Nothing
Set objMailConfig = Nothing
response.redirect("successo.html")
%>
-
ragazzi ignorate quanto sopra riportato, sono riuscito a risolvere. adesso ho un nuovo problema.
dopo molti tentativi io ho questo codice:
<%
' Crea l'oggetto CDOSYS
Set objMail = Server.CreateObject("CDO.Message")
Set objMailConfig = Server.CreateObject ("CDO.Configuration")' Proprietà di invio
with objMailConfig
' SMTP mail server
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "commercialevirtuale.com"
' Autenticate
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpAuthenticate") = cdoBasic
' User
.Fields("http://schemas.microsoft.com/cdo/configuration/SendUserName") = "[email protected]"
' PW
.Fields("http://schemas.microsoft.com/cdo/configuration/SendPassword") = "xxxx"
' SMTP port
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
' CDO port
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
' Timeout
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.Update
end with' Configurazione CDOSYS
Set objMail.Configuration = objMailConfigwith objMail
' Mittente
.From ="[email protected]"
' Destinatario
.To = "[email protected]"
' Oggetto
.Subject =Request.Form("oggetto")
' Corpo dell'email
.HTMLBody = Request.Form("descrizione") & VbCrLf & ("Link di provenienza:") & Request.ServerVariables("HTTP_REFERER")' Invia l'email
.Sendend with
Set objMail = Nothing
Set objMailConfig = Nothingresponse.redirect("../successo.html")
%>le mail alla casella arrivano correttamente riportando tutti i parametri.
l'unico neo e HTTP_REFERER. Il modulo serve per far segnalare errori che trovano sulle pagine agli utenti.
Il problema consiste nel fatto che nella mail l' http_referer (cioè url che arriva) , non è quello della pagina in cui si trova l'errore, ma è quello di dove si trova il modulo per la segnalazione.
ponendo il caso che la pagina www.pino.it/pino.html abbia un errore, un visitatore clicca sul link segnala errori è arriva alla pagina www.pino.it/segnala-errori.htm. Su questa pagina l'utente compila il form(oggetto e descrizione) e invia.
Nella mail che mi arriva, l'url segnalato non è www.pino.it/pino.html ma www.pino.it/segnala-errori.htm
Perche?
-
@fre2004 said:
ponendo il caso che la pagina www.pino.it/pino.html abbia un errore, un visitatore clicca sul link segnala errori è arriva alla pagina www.pino.it/segnala-errori.htm. Su questa pagina l'utente compila il form(oggetto e descrizione) e invia.
Nella mail che mi arriva, l'url segnalato non è www.pino.it/pino.html ma www.pino.it/segnala-errori.htm
Perche?
Devi portarti appresso il parametro di tuo interesse.
ad esempio nella pagina www.pino.it/pino.ASP il visitatore clicca un link di questo tipo www.pino.it/segnalaerrori.asp?url=http://www.pino.it/pino.asp.
Il codice per ottenere questo link è <a href="segnalaerrori.asp?url=<%=request.servervariables("SCRIPT_NAME") %>">segnala errore</a>poi nella pagina di segnalazione ti leggi il parametro url e lo metti nell'email
-
ok, grassie.
-
Occhio che in moltissimi casi i firewall (e molto impostazioni standard dei browser) bloccano i referer e ti arriverà un bel VUOTO
Secondo me ti conviene riflettere su altre metodologie come ad esempio memorizzare l'url andato in errore in quel momento (se c'è un errore) e spedirlo poi per email.
Oppure se puoi rimappare la pagina 404 o 500 potresti addirittura scrivere nel db o farti mandare una mail quando scatta qualche errore senza che l'utente lo segnali.