Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2005, 20:36
mariano_donati
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años, 1 mes
Puntos: 9
Error interno de servidor... ni más, ni menos

Hola, he colgado una pagina de prueba en internet, sin diseño ni nada, solamente la aplicación ASP y me funciona todo correctamente, hasta el momento en que el usuario cierra la compra. El tema es así, luego de haber de chequeado si el usuario ha iniciado sesion o no, se envia un correo electronico a su casilla para que vea el detalle de su compra y/o modifique sus datos si fuera necesario. Y también, se guarda en la base de datos todo el pedido. El tema es que es la parte que no me funciona, y me salta el error "Error interno de servidor". Lo que yo descarto es que el error me lo de al cargar los datos en la base de datos, para mi es el tema esta en el envio del correo electronico. Les dejo el codigo por si alguno está interesado en contestar mi pregunta, no espero tampoco que se pongan a leer tanto codigo, pero aunque sea una ayuda para saber por donde puedo encarar el problema. Muchas gracias.

<%
Dim iMsg
Dim iConf
Dim Flds
Dim Mensaje
Dim RS, SQL, conexionNegocios
Dim RS2, SQL2, conexionUsuReg
Dim usuTipo

usuTipo = Request.QueryString("usu")

Const cdoSendUsingPickup = 1

set iMsg = CreateObject("CDO.Message")
set iConf = CreateObject("CDO.Configuration")
set conexionNegocios = server.CreateObject("ADODB.connection")
conexionNegocios.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Negocios.mdb")
set conexionUsuReg = Server.CreateObject("ADODB.connection")
conexionUsuReg.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("usuReg.mdb")


Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPickup
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:\inetpub\mailroot\pickup"
.Update
End With

set RS2 = Server.CreateObject("ADODB.RecordSet")
SQL2 = "SELECT * FROM usuReg WHERE Nick='"&session("Nick")&"'"
RS2.Open SQL2, conexionUsuReg
Nombre = RS2("Nombre")
Apellido = RS2("Apellido")
Mail = RS2("Mail")
NumTel = RS2("NumTel")
Localidad = RS2("Localidad")
Provincia = RS2("Provincia")
Pais = RS2("Pais")
Barrio = RS2("Barrio")
Direccion = RS2("Direccion")
CodPost = RS2("CodPost")

'Si el usuario es de tipo básico, entonces >> mando el mail con los datos guardados en las sesiones
if usuTipo = "no" then

Mensaje = "El detalle del pedido de "& session("Nick") &" es el siguiente: <br><br>"
Mensaje = Mensaje & "<table border=""1""><tr><td width=""300"">Descripción</td><td width=""50"" align=""center"">Subtotal</td><td width=""50"" align=""center"">Cantidad</td></tr></table>"
for each clave in session("carro")
set RS=Server.CreateObject("ADODB.RecordSet")
SQL="SELECT * FROM Productos WHERE Id="&clave&";"
RS.Open SQL, conexionNegocios, 3, 3
Mensaje = Mensaje &"<table border=""1""><tr><td width=""300"">"& RS("Nombre") &"</td>"
Mensaje = Mensaje &"<td width=""50"" align=""right"">"& CInt(FormatNumber(RS("Precio")*session("carro")(cl ave))) &"$</td>"
Mensaje = Mensaje &"<td width=""50"" align=""right"">"& session("carro")(clave) &"</td></tr></table>"
SQL3 = "INSERT INTO Pedidos (IdNegocio, NombreUsu, ApellidoUsu, MailUsu, NumTelUsu, ProvinciaUsu, LocalidadUsu, PaisUsu, CodPostUsu, DireccionUsu, BarrioUsu, Cantidad, Producto, Fecha, Despachado, Comentado, NickUsu, IdProducto) VALUES ("&RS("IdNegocio")&",'"&Nombre&"','"&Apellido&"',' "&Mail&"',"&session("NumTel")&",'"&session("Provin cia")&"','"&session("Localidad")&"','"&session("Pa is")&"',"&session("CodPost")&",'"&session("Direcci on")&"','"&session("Barrio")&"',"&session("carro") (clave)&",'"&RS("Nombre")&"','"&Now()&"','no','no' ,'"&session("Nick")&"',"&RS("Id")&")"
conexionNegocios.Execute(SQL3)
RS("NumCompras") = RS("NumCompras") + session("carro")(clave)
RS.Update
RS.Requery
next
Mensaje = Mensaje &"<table border=""1""><tr><td width=""300"" align=""right"">Total</td><td align=""right"" width=""50"">"& session("Total") &"$</td></tr></table><br><br>"
Mensaje = Mensaje & "Los datos enviados por "& session("Nick")&" son los siguientes: <br><br>"
Mensaje = Mensaje & "<table border=""1"" align=""left""><tr><td>Nombre</td><td>"& RS2("Nombre") &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Apellido</td><td>"& RS2("Apellido") &"</td></tr>"
Mensaje = Mensaje & "<tr><td>E-Mail</td><td>"& RS2("Mail") &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Teléfono</td><td>"& session("NumTel") &"</td></tr>"
Mensaje = Mensaje & "<tr><td>País</td><td>"& session("Pais") &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Provincia</td><td>"& session("Provincia") &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Localidad</td><td>"& session("Localidad") &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Barrio</td><td>"& session("Barrio") &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Direccion</td><td>"& session("Direccion") &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Código Postal</td><td>"& session("CodPost") &"</td></tr></table>"

'Si el usuario es de tipo completo, entonces >> mando la totalidad de los datos a través de la base de datos
else
Mensaje = "El detalle del pedido de "& session("Nick") &" es el siguiente: <br><br>"
Mensaje = Mensaje & "<table border=""1""><tr><td width=""300"">Descripción</td><td width=""50"" align=""center"">Subtotal</td><td width=""50"" align=""center"">Cantidad</td></tr></table>"
for each clave in session("carro")
set RS=Server.CreateObject("ADODB.RecordSet")
SQL="SELECT * FROM Productos WHERE Id="&clave&";"
RS.Open SQL, conexionNegocios, 3, 3
Mensaje = Mensaje &"<table border=""1""><tr><td width=""300"">"& RS("Nombre") &"</td>"
Mensaje = Mensaje &"<td width=""50"" align=""right"">"& CInt(FormatNumber(RS("Precio")*session("carro")(cl ave))) &"$</td>"
Mensaje = Mensaje &"<td width=""50"" align=""right"">"& session("carro")(clave) &"</td></tr></table>"
SQL3= "INSERT INTO Pedidos (IdNegocio, NombreUsu, ApellidoUsu, MailUsu, NumTelUsu, ProvinciaUsu, LocalidadUsu, PaisUsu, CodPostUsu, DireccionUsu, BarrioUsu, Cantidad, Producto, Fecha, Despachado, Comentado, NickUsu, IdProducto) VALUES ("&RS("IdNegocio")&",'"&Nombre&"','"&Apellido&"',' "&Mail&"',"&NumTel&",'"&Provincia&"','"&Localidad& "','"&Pais&"',"&CodPost&",'"&Direccion&"','"&Barri o&"',"&session("carro")(clave)&",'"&RS("Nombre")&" ','"&Now()&"','no','no','"&session("Nick")&"',"&RS ("Id")&")"
conexionNegocios.Execute(SQL3)
RS("NumCompras") = RS("NumCompras") + session("carro")(clave)
RS.Update
RS.Requery
next
Mensaje = Mensaje &"<table border=""1""><tr><td width=""300"" align=""right"">Total</td><td align=""right"" width=""50"">"& session("Total") &"$</td></tr></table><br><br>"
Mensaje = Mensaje & "Los datos enviados por "& session("Nick")&" son los siguientes: <br><br>"
Mensaje = Mensaje & "<table border=""1"" align=""left""><tr><td>Nombre</td><td>"& Nombre &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Apellido</td><td>"& Apellido &"</td></tr>"
Mensaje = Mensaje & "<tr><td>E-Mail</td><td>"& Mail &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Teléfono</td><td>" & NumTel &"</td></tr>"
Mensaje = Mensaje & "<tr><td>País</td><td>" & Pais &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Provincia</td><td>"& Provincia &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Localidad</td><td>"& Localidad &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Barrio</td><td>"& Barrio &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Dirección</td><td>"& Direccion &"</td></tr>"
Mensaje = Mensaje & "<tr><td>Código Postal</td><td>"& CodPost &"</td></tr></table>"
end if

'Se aplican las propiedas al objeto mail iMsg
With iMsg
Set .Configuration = iConf
.To = Mail
.From = "Mi Negocio"
.Subject = "Detalle de tu compra"
.HTMLBody = Mensaje
.Send
End With

RS.Close
set RS = nothing
RS2.Close
set RS2 = nothing
conexionNegocios.Close
conexionUsuReg.Close
set conexionNegocios = nothing
set conexionUsuReg = nothing
Set iMsg = Nothing
Set iConf = Nothing
Set Flds = Nothing

if err0 then
Response.write("Tu pedido no ha podido cerrarse. Intenta nuevamente.")
else
Response.write("El pedido fue realizado con éxito!. En breve podrá disfrutar de su compra. Gracias por elegirnos!.")
end if
%>