Foros del Web » Programando para Internet » ASP Clásico »

Problema atrapando error al mandar email

Estas en el tema de Problema atrapando error al mandar email en el foro de ASP Clásico en Foros del Web. Tengo una cuenta en brinkster Premium, y con el codigo que he puesto abajo mando los emails desde mi web.Hasta aqui todo bien, pero ocurre ...
  #1 (permalink)  
Antiguo 15/10/2004, 08:20
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Pregunta Problema atrapando error al mandar email


Tengo una cuenta en brinkster Premium, y con el codigo que he puesto abajo mando los emails desde mi web.Hasta aqui todo bien, pero ocurre que hoy han tenido en brinkster problemas con el servidor para mandar emails y cuando intento mandar uno me aparece este error.


Tipo de error:
(0x80040211)


Este tipo de error creo que es debido a que el servidor no esta disponible. (en este caso sendmail.brinkster.com)

Lo que me gustaria es que la proxima vez que ocurra este error lo pueda atrapar y redirigir al cliente a otra pagina en lugar de que le aparezca una pantalla de error, ¿Sabeis alguna forma de atrapar este error?



Este es el codigo:

dim email
dim strmensaje
email=rscust("email")
strmensaje=rscust("strmensaje")
Dim ObjMail
Set ObjMail = Server.CreateObject("CDO.Message")
Set objConfig = CreateObject("CDO.Configuration")

objConfig.fields.item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
objConfig.fields.item("http://schemas.microsoft.com/cdo/configuration/smtpserver")="sendmail.brinkster.com"
objConfig.fields.item("http://schemas.microsoft.com/cdo/configuration/sendusername")="[email protected]"
objConfig.fields.item("http://schemas.microsoft.com/cdo/configuration/sendpassword")="mipassword"
objConfig.fields.item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")=1
objConfig.fields.item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25
objConfig.fields.item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout")=60
objConfig.fields.update

Set objMail.Configuration = objConfig
objMail.From = "[email protected]"
objMail.To = email
objMail.Subject = "Confirmación de su pedido"
objMail.HTMLBody = strmensaje
objMail.Send

On Error Resume Next
On Error GoTo 0
If Err <> 0 Then
Response.Write "Ha ocurrido un error: " & Err.Description
Else
End if
Set objMail = Nothing
Set objConfig = Nothing
  #2 (permalink)  
Antiguo 15/10/2004, 09:51
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Así?

On Error Resume Next
objMail.Send
If err.number <> 0 Then
Response.Redirect "pagina_error.asp"
End If
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 15/10/2004, 10:28
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
No me funciona asi.
Brinkster requiere el uso de "On Error GoTo 0" y despues comprobar el objeto err object cuando se use "On Error Resume Next".

Incluso poniendo:
objMail.Send

On Error Resume Next
On Error GoTo 0
If Err <> 0 Then
Response.Redirect "pagina_error.asp"

No me redirige a esa pagina
  #4 (permalink)  
Antiguo 15/10/2004, 10:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
mmmhhh...nunca he trabajado en Brinkster, pero entonces lo manda a una etiqueta...déjame hacer unas pruebas.


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 15/10/2004, 11:14
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Y si lo inviertes?

Código:
On Error GoTo 0
On Error Resume Next
objMail.Send 

If Err.Number <> 0 Then
  Response.Redirect "pagina_error.asp"
End If
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 15/10/2004, 11:28
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Creo que de esa forma si consigo atrapar el error, pero no tengo claro una cosa, donde digoanteriormente:

Set objMail.Configuration = objConfig
objMail.From = "[email protected]"
objMail.To = email
objMail.Subject = "Confirmación de su pedido"
objMail.HTMLBody = strmensaje
objMail.Send ¿Debo quitar este de aqui o lo debo conservar aqui tambien?

On Error GoTo 0
On Error Resume Next
objMail.Send

If Err.Number <> 0 Then
Response.Redirect "mipedido.asp"
End If
  #7 (permalink)  
Antiguo 15/10/2004, 11:31
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Cita:
objMail.Send ¿Debo quitar este de aqui o lo debo conservar aqui tambien?
Lo debes quitar, el error handler debe venir donde está la línea suceptible de error, es decir "En el evento error continúa en la siguiente línea" (On error resume Next)

On Error Resume Next
objMail.Send ' Aqui la linea suceptible de error
If err.number <> 0 Then 'continúa aquí, donde evalúa si el número de error no es cero y ejecuta


Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 15/10/2004, 11:33
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Gracias aun no han solucionado los de brinkster el problema, cuando lo solucionen ellos te comento. Muchas Gracias de nuevo.
  #9 (permalink)  
Antiguo 16/10/2004, 03:53
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Ya han solucionado el problema en brinkster y funciona perfect
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:48.