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

ERROR con CDO

Estas en el tema de ERROR con CDO en el foro de ASP Clásico en Foros del Web. Que tal, al tratar de enviar un email desde un ASP me genera el siguiente error: Tipo de error: (0x8004020E) No se puede modificar o ...
  #1 (permalink)  
Antiguo 07/12/2005, 13:11
 
Fecha de Ingreso: febrero-2005
Mensajes: 41
Antigüedad: 19 años, 4 meses
Puntos: 0
ERROR con CDO

Que tal, al tratar de enviar un email desde un ASP me genera el siguiente error:

Tipo de error:
(0x8004020E)
No se puede modificar o suprimir un objeto que fue añadido usando el SDK Admin COM+
/hd/test/enviax.asp, línea 19

Ya habia logrado que funcionara este codigo, pero resulta ser que cambie de servidor de correo, puse mi nuevo servidor de correo en la linea correspondiente del codigo y me da este problema, podrían ayudarme....

El codigo es el siguiente:

<%
if (Request.Form()<>"") then
Dim Mail, Config
Set Mail = Server.createObject("CDO.Message")
Set Config = Server.createObject ("CDO.Configuration")
With Config
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.yahoo.com"
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.update
End With
Set Mail.Configuration = Config

Mail.From="Sistemas"
Mail.To = Request.Form("email")
Mail.Subject = Request.Form("asunto")
Mail.HTMLBody = Request.Form("mensaje")
Mail.Send()
Response.Write("E-mail enviado a: "&Request.Form("email"))
Set Mail = Nothing
else %>
<form name="formail" method="post" action="enviax.asp">
<table align="center" cellpadding="3" cellspacing="1">
<tr><td>Para (Email): </td>
<td><input type="text" name="email" /></td> </tr>
<tr><td>Asunto: </td>
<td><input type="text" name="asunto" /></td> </tr>
<tr><td>Mensaje: </td>
<td><textarea name="mensaje"></textarea></td> </tr>
<tr><td colspan="2" align="center">
<input type="submit" value=" Enviar " name="ok"> </td> </tr>
</table>
</form>
<% end if %>


Estoy trabajando con WXP, IIS 5.1

Por el momento gracias.
  #2 (permalink)  
Antiguo 09/12/2005, 10:25
 
Fecha de Ingreso: febrero-2005
Mensajes: 41
Antigüedad: 19 años, 4 meses
Puntos: 0
Alguna sugerencia... ?
  #3 (permalink)  
Antiguo 14/12/2005, 11:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 41
Antigüedad: 19 años, 4 meses
Puntos: 0
Alguien podría apoyarme ?
  #4 (permalink)  
Antiguo 14/12/2005, 17:59
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 7 meses
Puntos: 3
Pueden ser varias las causas :

1.- Falta de permisos al usuario anonimo para el envio de correos
2.- Que en la maquina exista un Antivirus o Firewall que tenga bloqueada la puerta 25
3.- Que el TO o FROM tengan algun caracter extraño

Eso puedo aportar
  #5 (permalink)  
Antiguo 16/12/2005, 10:20
 
Fecha de Ingreso: febrero-2005
Mensajes: 41
Antigüedad: 19 años, 4 meses
Puntos: 0
Gracias "Monkyta", ya he revizado esos tres puntos y todo esta bien, cuano cambiamos de servidor de correo al configurarlo en el outlook, se tiene que marcar la casilla de "Mi servidor requiere autentificación", estaba pensando que pudiera ser eso. Seguire intentando.

Lo extraño es que solo porque cambie mi servidor de correo :(

Tanto que batalle para lograr enviar un email por medio de un ASP, pero en fin, es un nuevo reto.

GRACIAS nuevamente
  #6 (permalink)  
Antiguo 16/12/2005, 13:04
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 7 meses
Puntos: 3
Ayer termine de asesorar a Tomchat con un problema parecido CDO ; y hoy está muy contento ya que por fin pudo enviar sus correos..... te sugiero revises ese caso ya que ahi esta todo bien claro y con la solucion final....

Suerte
  #7 (permalink)  
Antiguo 21/12/2005, 13:09
 
Fecha de Ingreso: febrero-2005
Mensajes: 41
Antigüedad: 19 años, 4 meses
Puntos: 0
Estuve revizando el caso de Tomchat y realizando algunas pruebas logre enviar un email de la siguiente forma.

Deje la linea que hace referencia al SMTP igual:

.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mi.dominio.com"

La línea que modifique fue la siguiente:
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

Siguiendo las instrucciones:
# Try using a SendUsing value of 1 (pickup) instead of 2 (port). E.g. the following line:
.Item(cdoSendUsingMethod) = cdoSendUsingPort
Becomes
.Item(cdoSendUsingMethod) = cdoSendUsingPicku
p

Probe de estas dos formas y me funciono:
1a.- .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
2a.- .Fields("http://schemas.microsoft.com/cdo/configuration/sendusingMethod") = 1


Ahora bien, mi duda es que es lo que pasa exactamente, a que hace referencia esta instrucción, tendrías alguna referencia para saber sobre todas las propiedades u objetos que utiliza este metodo (CDOSYS)?

Probe con el codigo de tomChat y me genera el mismo error que describo al inicio.

Poniendo ".../SendUsing")=1" está realmente usando mi SMTP o el localhost? Estoy algo confuso. Solucione mi problema pero tengo varias dudas.

Gracias por su colaboracion, tank's Monkita.
  #8 (permalink)  
Antiguo 21/12/2005, 17:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 41
Antigüedad: 19 años, 4 meses
Puntos: 0
De acuerdo

HOLA a todos, ya logre ver mi error en si ya lo habia detectado con la ayuda que me proporcionaron pero ahora me quedo mas claro, independientemente de que me falta leer mas sobre CDOSYS, mi problema era la variable que estaba utilizando:

1a.- .Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

En lugar de :
2a.- .Fields("http://schemas.microsoft.com/cdo/configuration/sendusingMethod") = 2


Probe con esta ultima y todo funciona perfectamente, sin ningun problema, tal cual estaba funcionando antes de cambiar de servidor de correo.

Gracias nuevamente :) (:
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 00:35.