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

Enviar mail

Estas en el tema de Enviar mail en el foro de ASP Clásico en Foros del Web. Hola a todos, necesito enviar correos electrónicos desde mi servidor a varias direcciones de correo electrónico. comencé usando CDONTS, pero no funciona, tengo problemas para ...
  #1 (permalink)  
Antiguo 22/06/2010, 11:42
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Enviar mail

Hola a todos, necesito enviar correos electrónicos desde mi servidor a varias direcciones de correo electrónico. comencé usando CDONTS, pero no funciona, tengo problemas para poder crear ese objeto. Lo hago de la sig manera:

Código:
<%
...

Set mailobj = Server.CreateObject("CDONTS.NewMail")
mailobj.mailFormat = 0
mailobj.bodyFormat = 0
mailobj.from = request.form("[email protected]")
mailobj.to = request.form("[email protected]")
mailobj.subject = request.form("Encuesta Foros")
mailobj.body = request.form("cadena")
mailobj.send
%>
y me marca el siguiente error:

Numero=(0x800401F3)
Descripcion=Error en Server.CreateObject
ASP Error (Descripcion)=Error en Server.CreateObject


Trate de configurar en CDONST de la siguiente manera:
Regsvr32 CDONTS.dll
pero no me permite.

He buscado en este mismo foro, pero las soluciones no me han funcionado.

Ideas?
  #2 (permalink)  
Antiguo 22/06/2010, 13:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Enviar mail

Hola

Comprueba que tu servidor admite ese componente, que al parecer no lo admite

Código ASP:
Ver original
  1. <&#37;
  2. Dim theComponent(5)
  3. Dim theComponentName(5)
  4.    
  5. theComponent(0) = "ADODB.Connection"
  6. theComponent(1) = "Scripting.FileSystemObject"
  7. theComponent(2) = "CDONTS.NewMail"
  8. theComponent(3) = "Persits.Upload.1"
  9. theComponent(4) = "CDO.Message"
  10.    
  11. theComponentName(0) = "ADODB"
  12. theComponentName(1) = "FileSystemObject"
  13. theComponentName(2) = "CDONTS"
  14. theComponentName(3) = "Persits Upload"
  15. theComponentName(4) = "CDOSYS"
  16.    
  17. Function IsObjInstalled(strClassString)
  18. On Error Resume Next
  19. IsObjInstalled = False
  20. Err = 0
  21. Dim xTestObj
  22. Set xTestObj = Server.CreateObject(strClassString)
  23. If 0 = Err Then IsObjInstalled = True
  24. Set xTestObj = Nothing
  25. Err = 0
  26. End Function
  27.  
  28.  
  29. Dim i
  30. For i=0 to UBound(theComponent)
  31. If Not IsObjInstalled(theComponent(i)) Then
  32. Else
  33. Response.Write "<tr>" & vbCrLf
  34. Response.Write "<td width=""100%"">" & vbCrLf
  35. Response.Write "<b>" & theComponentName(i) & "</b><br>" & vbCrLf
  36. Response.Write "</td>" & vbCrLf
  37. Response.Write "</tr>" & vbCrLf
  38. End If
  39. Next
  40. %>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 22/06/2010, 13:54
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Enviar mail

Hola Adler... pues al parecer si lo admite, ya que me retorna esto el c'odigo que me enviaste:


ADODB
FileSystemObject
CDOSYS


Pero, si trato de ejecutar mi codigo con Set mailobj = Server.CreateObject("CDOSYS.NewMail") me sigue marcando lo mismo


Numero=(0x800401F3)
Descripcion=Error en Server.CreateObject
ASP Error (Descripcion)=Error en Server.CreateObject

Última edición por JavierMMM; 22/06/2010 a las 14:13
  #4 (permalink)  
Antiguo 22/06/2010, 14:33
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Enviar mail

Hola

Prueba con
Cita:
server.CreateObject("CDO.Message")
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 22/06/2010, 14:48
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Enviar mail

Hola Adler, siempre salvandome .....

fuinciono a la perfeccion....

Muchas gracias
  #6 (permalink)  
Antiguo 22/06/2010, 15:08
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Enviar mail

Ya que andamos en esto... una cosa mas....

Resulta que los correos de destino, los obtengo mediante una consulta a una base de datos y cuando quiero enviarlo a un solo correo, funciona a la perfecci'on, pero cuando trato de hacerlo a varios, no puedo... solo toma el primer registro que encuestra y truena el bucle:

Categoria=Error de Microsoft VBScript en tiempo de ejecución
Numero=(0x800A01A8)
Descripcion=Se requiere un objeto: 'myMail'


este es el codigo que uso

Código:
function url_encuesta(usuario,institucion,correo,concat)
	url = "http://miurl/mipagina.asp?"
	cadena = (url) & "usuario=" & usuario & "&institucion=" & institucion & "&correo=" & correo & "&codigomd5=" & concat & "&BtnEntrar=Entrar"
	myMail.Subject="Encuesta"
	myMail.From="[email protected]"
	myMail.To=(mail)
	myMail.TextBody=cadena
	myMail.Send
	set myMail=nothing

end function


Set con=Server.CreateObject("ADODB.Connection")
Set Rs=Server.CreateObject("ADODB.Recordset")
Set myMail = server.CreateObject("CDO.Message")

Con.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("formulario.mdb")
Con.open	

Rs.open "Select usuario,institucion,correo From correos Where institucion ='x'",con
usr = Rs("usuario")
ins = Rs("institucion")
mail = Rs("correo")
concat = usr & ins & mail
concat = MD5(concat)

Do While not Rs.eof
	url_encuesta usr,ins,mail,concat
	...
	Rs.movenext
loop

Última edición por JavierMMM; 22/06/2010 a las 15:18
  #7 (permalink)  
Antiguo 22/06/2010, 15:52
Avatar de JavierMMM  
Fecha de Ingreso: agosto-2008
Ubicación: Justito frente a la computadora.
Mensajes: 278
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Enviar mail

Lo solucion'e facil :s

Código:
function url_encuesta(usuario,institucion,correo,concat)
        Set myMail = server.CreateObject("CDO.Message")
	url = "http://miurl/mipagina.asp?"
	cadena = (url) & "usuario=" & usuario & "&institucion=" & institucion & "&correo=" & correo & "&codigomd5=" & concat & "&BtnEntrar=Entrar"
	myMail.Subject="Encuesta"
	myMail.From="[email protected]"
	myMail.To=(mail)
	myMail.TextBody=cadena
	myMail.Send
	set myMail=nothing

end function


Set con=Server.CreateObject("ADODB.Connection")
Set Rs=Server.CreateObject("ADODB.Recordset")

Con.connectionstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("formulario.mdb")
Con.open	

Rs.open "Select usuario,institucion,correo From correos Where institucion ='x'",con
usr = Rs("usuario")
ins = Rs("institucion")
mail = Rs("correo")
concat = usr & ins & mail
concat = MD5(concat)

Do While not Rs.eof
	url_encuesta usr,ins,mail,concat
	...
	Rs.movenext
loop
metiendo la creacion del onjeto a la funcion... que despistado :s

Gracias Adler

Etiquetas: enviar, mail
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 06:34.