Foros del Web » Programación para mayores de 30 ;) » Programación General »

ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Estas en el tema de ACCESS 2003 - Páginas de acceso a datos -> Envio de correo en el foro de Programación General en Foros del Web. Hola a todos, Tengo un problema bastante serio... Tengo que realizar el envio de un mensaje de correo "formateado" (Sangrias, textos en negrita, etc) desde ...
  #1 (permalink)  
Antiguo 30/04/2008, 10:11
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Hola a todos,

Tengo un problema bastante serio... Tengo que realizar el envio de un mensaje de correo "formateado" (Sangrias, textos en negrita, etc) desde una página de acceso a datos de Access 2003, pero no veo como hacerlo...

¿Es posible? .oO(Espero que si, por que sino, el curring de 3 días se va al garete aissssss)

Gracias anticipadas y saludos!
  #2 (permalink)  
Antiguo 30/04/2008, 11:34
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

http://www.forosdelweb.com/f14/envia...access-489952/

Cita:
DoCmd.SendObject [tipoobjeto][, nombreobjeto][, formatoresultados][, para][, copia][, cco][, asunto][, textomensaje][, modificarmensaje][, archivoplantilla]

salu2
  #3 (permalink)  
Antiguo 02/05/2008, 01:31
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Hola dogduck,

He probado de emplear la DoCmd.SendObject pero en las páginas de acceso a datos de MsAccess no acepta esta propiedad.

Al no tratarse de un informe no puedo emplear esta instrucción. He mirado de "incluir" de alguna manera un modulo en la página de acceso a datos, pero de momento sin exito. La verdad es que ya no se como hacerlo o mirarlo... .oO(Solo se me ocurre perder todo el trabajo y hacerlo todo de nuevo con un formulario, pero la verdad es que esta solución casí que no es factible ya que ya vamos con retraso)

Gracias anticipadas y saludos!
  #4 (permalink)  
Antiguo 02/05/2008, 03:05
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Si no me equivoco una página de acceso a datos es HTML. Por lo que Necesitas entonces incluir un sistema de envio de mail con vbs o js o asp o php, dependiendo de la solución (si existe servidor o no).
Lo más simple seria no depender de un servidor y trabajando solo del lado del cliente con vbs con CDO:

http://www.paulsadowski.com/WSH/cdo.htm

Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Example CDO Message"
objMessage.From = "[email protected]"
objMessage.To = "[email protected]"
objMessage.TextBody = "<html><head></head><body><b>This is some sample message text.</b></body></html>"
objMessage.Send

http://support.microsoft.com/kb/286430/EN-US/


salu2
  #5 (permalink)  
Antiguo 02/05/2008, 05:01
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Buenas dogduck,

He realizado pruebas en diversos equipos en el curro y la verdad es que en ninguno de ellos han sido satisfactorias... Te explico, al forzar el envio del correo me aparece el siguiente mensaje de error:

Cita:
"El componente ActiveX no puede crear el objeto "CDO.Message"
He revisado la información relacionada con ese mensaje de error y registrado la libreria relacionada "CDOSYS.DLL" en el equipo donde me ha generado el error, pero continua reproduciendo el mismo problema. Al tratarse de equipos coorporativos y carecer de permisos de administrador, es inviable aplicar soluciones como la reinstalacion de IE + Outook Express... así que ya vuelvo a estar perdido en el limbo.

Dog, puedes confirmarme si es problema de la DLL en cuestión o si bien también seria necesaria la libreria CDONTS.DLL. Los equipos en los que deberia correr esta aplicación tienen instalado WinXP

Gracias y saludos
  #6 (permalink)  
Antiguo 02/05/2008, 07:03
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

debes de tenee el cdonts.dll en la maquina y registrado.
Mirate estas pags, te resultarán utiles:

http://www.forosdelweb.com/f15/mail-...cdosys-488094/
http://www.forosdelweb.com/f15/manda...-318017-print/

salu2
  #7 (permalink)  
Antiguo 02/05/2008, 08:06
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Cita:
Iniciado por dogduck Ver Mensaje
debes de tenee el cdonts.dll en la maquina y registrado.
Mirate estas pags, te resultarán utiles:

http://www.forosdelweb.com/f15/mail-...cdosys-488094/
http://www.forosdelweb.com/f15/manda...-318017-print/

salu2

Ya veo cual es el problema!!!!!! No tengo la libreria dll en ninguno de los equipos del trabajo!

dogduck! Muchas gracias apañero!!!! Me has hecho ver la luz!

Saludos!
PD: Un puntito más de karma! QUe te lo has ganao!!! jajajaja ;)
  #8 (permalink)  
Antiguo 02/05/2008, 08:52
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Puuuuuuuuuuuuuuffff!!! Es el cuento de nunca acabar!

Acaban de otorgarme derechos de admin local en una de las maquinas, he copiado y registrado la DLL y zaaaaaaaaaaas! nuevo error:

Cita:
No es válido el valor de configuración "SendUsing"
Antes me aparece un mensaje de advertencia indicandome si deseo utilizar o no el controlador ActiveX, por lo que entiendo que ahora el problema esta en otro lado... En fin, creo que para ser viernes, ya hemos tenido mas que suficiente por hoy.

Dogduck, gracias por tu ayuda! intentare dar con una solucion a golpe de google ...a ver si encuentro algo relacionado con este problema.

Saludos!
  #9 (permalink)  
Antiguo 02/05/2008, 10:26
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

jejeje, la verdad es que parece que vayas contrareloj, pero ya se sabe que en informática los tiempos de un proyecto multiplicalos x3 para ser realistas ...

Mirate:
http://www.forosdelweb.com/f15/envia...sp-wxp-314365/
http://www.forosdelweb.com/f15/error...r-mail-357402/

No los he leido a conciencia pero parece que han resuelto el problema del error:
No es válido el valor de configuración "SendUsing"

Si te vale y es así comentalo.

Por cierto si pones:

On Error Resume Next

¿te manda el mensaje? ... es una broma

de todas formas, si llegaras a un punto sin salida, postea algo del código (la parte de envío de mail) para ver que se puede hacer.
suerte
  #10 (permalink)  
Antiguo 05/05/2008, 01:30
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Y el lunes a primera hora... SE HIZO LA LUZ!!!!!

Gracias dogduck, la verdad es que sin tu ayuda no habría salido de este "embolado" en el que me han metido... Finalmente, entre el código que me has facilitado incialmente y la relación de post que me has indicado, la cosa ha salido CAÑON en cuanto me han facilitado la dirección smtp de la intranet de la empresa...

Como no, aquí os dejo el código con el fin de que tan solo realicéis las modificaciones pertinentes en los parametros del servidor smtp y tiempos... :)


Cita:
Origen = "[email protected]"
Destino = "[email protected]"
Asunto = "Asunto del mensaje a remitir"
Mensaje = "<center><strong>HOLA</strong></center>"
Destino = "[email protected]"
Set myMail = CreateObject("CDO.Message")
Set Config = CreateObject ("CDO.Configuration")
With Config
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "direccion.smtp.de.vuestro.servidor.loquesea"
.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 myMail.Configuration = Config

myMail.Subject = Asunto
myMail.From = Origen
myMail.To=Destino
myMail.HtmlBody = Mensaje
myMail.Send
set myMail=nothing
La cosa tira CAÑON. Puuuuuuuuuuuuuuffff!!!! Vaya semanita que me ha dado este tema!!! jajajajajjajaja.

Gracias nuevamente y saludos!

Última edición por popobcn; 05/05/2008 a las 02:16
  #11 (permalink)  
Antiguo 05/05/2008, 06:32
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Pues me alegro, y gracias por postear la solución, seguro que nos valdrá a más de uno.

salu2
  #12 (permalink)  
Antiguo 08/05/2008, 02:10
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Pues suma y sigue con los problemas... aisssss!!!! Ahora me encuentro con un nuevo problema... hacer que funcione en una conexión remota de Windows 2003 Server!!!!

He revisado todo lo mencionado con anterioridad, o sea, copiado la dll de cdonts.dll en la carpeta system32, registrar la misma e incluso he cerrado la sesión y vuelto a iniciarla, pero vuelve a sacarme el mismo mensaje de error:

Cita:
"El componente ActiveX no puede crear el objeto "CDO.Message"
Sin lugar a dudas, Access no esta diseñado para hacer estas cosillas :)

Saludos!
  #13 (permalink)  
Antiguo 09/05/2008, 02:04
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Cita:
hacer que funcione en una conexión remota de Windows 2003 Server
¿A que te refieres? ¿ A que estás en una sesión de terminal server ? ¿A que el servidor smtp está fuera de la intranet?¿A que la página de acceso a datos está en un servidro remoto? ...

Encontré otra pag donde implementan CDO con VB (lo tendrias que adpatar a VBA para Access 2k3): http://www.recursosvisualbasic.com.a...rosoft-cdo.htm


Lo que está claro es que el mensaje : "El componente ActiveX no puede crear el objeto CDO.Message"

no depende de si es remota o no la conexión, ¿firewall?...

Lo que dice Microsoft ... que ni me he leido, por que voy con el tiempo justo:
http://support.microsoft.com/kb/321807/EN-US/
http://support.microsoft.com/kb/327219/es
http://support.microsoft.com/kb/259176/EN-US/

Como enviar msg mediante VB.Net: http://support.microsoft.com/?scid=kb;es;313773

Resumiendo, ¿No has pensado en que tu página de acceso a datos lance una aplicación de apoyo, creada en VB.Net, o en Delphi o usando algún servidor con ASP o PhP ...? es decir buscar una alternativa.


salu2
  #14 (permalink)  
Antiguo 09/05/2008, 03:04
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Mirate esto a ver si te convence:

http://www.febooti.com/products/comm...ms-access.html

Cita:
<html>
<head></head>
<script language="VBS">
Sub Send_email()
Dim server
Dim subj
Dim body
Dim command

' Define all email parameters.

server = " -SMTP smtp.sender.com -PORT 25"
subj = "email using Access VBA"

body = """This is <I>HTML / MIME</I> e-mail message "
body = body & "sent from MS ACCESS VB script<BR>"
body = body & "using <B>febooti Command line email</B>"""

command = "febootimail.exe -HTML -FROM [email protected] "
command = command & "-TO [email protected] "
command = command & "-SUBJ " & subj & " -BODY " & body & server

' We are passing one long line to Scripting object.
' If you need to add aditional parameters, do it before.

Dim wsShell, proc
Set wsShell = CreateObject("wscript.shell")
Set proc = wsShell.Exec(command)

Dim s : s = ""
Do While proc.Status = 0
' Yields execution so that the operating system can process other events
DoEvents
Loop

' Use proc.ExitCode to check for returned %errorlevel%

s = s & "StdOut=" & proc.StdOut.ReadAll()
s = s & Chr(13) & Chr(10) & "ExitCode=" & proc.ExitCode
MsgBox (s)

Set wsShell = Nothing
Set proc = Nothing

' Error Level values and descriptions are available at:
' http://www.command-line-email.com/on...rrorlevel.html

End Sub
</script>
<body>

<p>&nbsp;</p>
<form method="post">
<input name="Button1" type="button" value="Envia mail" onclick="Send_email()">
</form>

</body>
</html>

salu2
  #15 (permalink)  
Antiguo 20/05/2008, 02:23
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Respuesta: Re: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Cita:
Iniciado por dogduck Ver Mensaje
Resumiendo, ¿No has pensado en que tu página de acceso a datos lance una aplicación de apoyo, creada en VB.Net, o en Delphi o usando algún servidor con ASP o PhP ...? es decir buscar una alternativa.
Hola Dogduck!

Perdona que no haya podido responder antes... pero la verdad es que llevo unos cuantos días que no he tenido ni tiempo para mirar el correo electrónico.

La verdad es que para mi y creo que para cualquier ser humano convencional, la solución seria montarlo todo sobre ASP... Pero " NO hay recursos" para tales cosas .oO(Si comentará donde trabajo y para quienes trabajamos... FLIPARIAIS con esa resolución xD pero mejor será no profundizar en el tema jajajajajajjaa )

Creo que el problema reside en las DNS... Ya que tras solventar el problema del registro de la DLL me lanzaba otro mensajito bastante más orientado a la resolucion del nombre del servidor smtp... ;)

En fin... hasta la semana que viene no volveré desplazarme hasta ese puesto de trabajo, por lo que por el momento la cosa se queda en el aire.

Muchas gracias por tu ayuda... :)
  #16 (permalink)  
Antiguo 20/05/2008, 07:06
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Respuesta: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

Bueno, tras verlo con algo más de perspectiva, por fin he visto cual era el problema.... EL ANTIVIRUS!!!! Estaba cortando las comunicaciones por el puerto 25... ;)

SOLUCIONADO! :) Saludos!
  #17 (permalink)  
Antiguo 22/05/2008, 03:33
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 4 meses
Puntos: 19
Respuesta: ACCESS 2003 - Páginas de acceso a datos -> Envio de correo

¿No será el panda? jajaja, me suena a una incidencia que tuve una vez.

salu2
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 01:56.