Newsgroup: it.comp.www.asp
Titolo: spedire errore via mail

Qualcuno ha un esempio di file ASP che invii via mail un errore?
Io posso creare l'errore di prova facilmente, mettendo il nome di una
tabella inesistente per esempio.
Vorrei che l'errore ASP venisse inviato via mail.
Il conponente CDONTS esiste e già lo uso per mailing list, o cose del
genere, ma non riesco a capire in che ordine mettere le voci on error, ecc.
per far mandare l'errore prima che tutto si fermi
Grazie mille


Puoi provare così:
'manda mai con errori
dim objASPError, mex, myMail
set objASPError = Server.GetLastError()
mex = "Informazioni dettagliate errore: " & vbCrLf & vbCrLf & _
	"ASP Code:  " & objASPError.ASPCode & vbCrLf & _
	"Error Number:  " & objASPError.Number & vbCrLf & _
	"Codice che ha causato l'errore:  " & objASPError.Source & vbCrLf & _
	"Categoria:  " & objASPError.Category & vbCrLf & _
	"Errore nella pagina:  " & objASPError.File & vbCrLf & _
	"Numero Riga:  " & objASPError.Line & vbCrLf & _
	"Numero Colonna:  " & objASPError.Column & vbCrLf & _
	"Descrizione:  " & objASPError.Description & vbCrLf & _
	"Descrizione estesa:  "& objASPError.ASPDescription & vbCrLf & _
	"Data:  " & Now()
 
Set myMail = Server.CreateObject("CDONTS.NewMail")
myMail.BodyFormat = 1
myMail.MailFormat = 1
myMail.From = mettilo tu
myMail.To = mettilo tu
myMail.Subject = "--- Errore --- " & objASPError.File & " --- " & 
objASPError.Description
myMail.Body = mex
myMail.Send
set myMail = Nothing

Armand Federico - INFO wrote:

Ciao,
IO uso una cosa del genere per gestire l'errore 500:
'manda mai con errori
dim objASPError, mex, myMail
set objASPError = Server.GetLastError()
mex = "Informazioni dettagliate errore: " & vbCrLf & vbCrLf & _
	"ASP Code:  " & objASPError.ASPCode & vbCrLf & _
	"Error Number:  " & objASPError.Number & vbCrLf & _
	"Codice che ha causato l'errore:  " & objASPError.Source & vbCrLf & _
	"Categoria:  " & objASPError.Category & vbCrLf & _
	"Errore nella pagina:  " & objASPError.File & vbCrLf & _
	"Numero Riga:  " & objASPError.Line & vbCrLf & _
	"Numero Colonna:  " & objASPError.Column & vbCrLf & _
	"Descrizione:  " & objASPError.Description & vbCrLf & _
	"Descrizione estesa:  "& objASPError.ASPDescription & vbCrLf & _
	"Data:  " & Now()
 
Set myMail = Server.CreateObject("CDONTS.NewMail")
myMail.BodyFormat = 1
myMail.MailFormat = 1
myMail.From = mettilo tu
myMail.To = mettilo tu
myMail.Subject = "--- Errore --- " & objASPError.File & " --- " & 
objASPError.Description
myMail.Body = mex
myMail.Send
set myMail = Nothing
Ciao
Morenz

Intanto grazie.
Dove metto questo codice?
A me serve riuscire mandare la mail in caso di errore. Solo che se l'errore
fa piantare tutto prima che venga inviata, non serve a nulla, giusto?
Quello che chiedevo era:
Come gestisco il fatto che se avviene un errore il programma continui fino
all'invio della mail?
In parole povere: Mi sembra che con "On error resume next" il programma
prosegua.
Dove lo metto rispetto al codice che genera l'errore e rispetto al codice
che invia?


Questo codice io l'ho messo in una pagina chiamata error.asp che 
gestisce l'errore 500 del webserver, il che significa che la puoi usare 
solo se puoi configurare IIS, dove devi andare a modificare nella 
sezione errori personalizzati la gestione dell'errore 500, che è proprio 
quello causato da un errore di codice / timeout ecc..
Ciao
Morenz