In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Pregunta sobre CDO mail

Foro público de Xailer en español
Responder
Avatar de Usuario
Carlos Ortiz
Mensajes: 872
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Pregunta sobre CDO mail

Mensaje por Carlos Ortiz »

estoy enviando correos usando TCDOMail como lo indico mas abajo,
pregunta 1, hay alguna forma de saber si fue enviado exitosamente?
pregunta 2, hay alguna forma de saber si la PC tiene una conexión a
internet?
TRY
WITH OBJECT TCDOMail():New(self)
:cServer := "smtp.gmail.com"
:cUser := "[email=dbfarma.....@gmail.com]dbfarma.....@gmail.com[/email]"
:cPassword := "....."
:nPort := 465
:lAuthenticate := .t.
:lSSL := .t.
:lHTML := .t.
:cFrom := "dbfarma......."
:cTO := "[email=cliente.......@gmail.com]cliente.......@gmail.com[/email]"
:cSubject := "Actualización lista de precios "+cDestino
:cMessage := "Estimado cliente,<br>"+;
"este es un aviso de actualización disponible
para Dbfarma update.<br><br>"+;
"<B>Archivo: "+cDestino+"</B>"
:AddAttachment := cOrigen
:Create()
IF :lInstalled
:Send()
ELSE
MsgInfo('Servidor de Correo no Instalado imposible enviar email
desde el programa.')
ENDIF
:End()
END WITH
CATCH oError
END
Trate de analizar lo que hace Send() pero no devuelve nada.
Muchas gracias.
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Pregunta sobre CDO mail

Mensaje por jlalin »

Carlos,
> pregunta 1, hay alguna forma de saber si fue enviado exitosamente?
en la propia ayuda del CDO explican que no hay una manera exacta de saberlo.
Piénsalo así­: ¿qué es un enví­o correcto? Si te paras a pensarlose puede
considerar como correcto que el correo ha salido de tu aplicación, que ha
llegado al servidor, que el servidor lo ha despachado correctamente, etc.
Lo que puedes hacer es poner lReceipt a .T. para recibir el acuse de recibo
(si el destinatario los tiene desactivados no llegará) cuando lo lean.
> pregunta 2, hay alguna forma de saber si la PC tiene una conexión a
> internet?
Prueba así­:
WITH OBJECT TInternet()...
IF ! :CheckConnection()
MsgInfo( "No hay conexión." )
ENDIF
END
Saludos,
José Lalí­n
Avatar de Usuario
Carlos Ortiz
Mensajes: 872
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Pregunta sobre CDO mail

Mensaje por Carlos Ortiz »

Si, es mucho pedir, pero por lo menos saber si el correo salió desde nuestra aplicación.
He estado haciendo pruebas en equipos con y sin internet y por eso preguntaba, ya que siempre devuelve lo mismo.
Seguiré probando.
Gracias por tu ayuda y gracias tambien por los componentes que has agregado ultimamente !!!
Saludos.
--
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Pregunta sobre CDO mail

Mensaje por jlalin »

Carlos,
> Si, es mucho pedir, pero por lo menos saber si el correo salió desde nuestra aplicación.
> He estado haciendo pruebas en equipos con y sin internet y por eso preguntaba, ya que siempre devuelve lo mismo.
Prueba con GetLastError() después de Send(). Si devuelve cero significa que
la operación se ha completado correctamente.
> Gracias por tu ayuda y gracias tambien por los componentes que has agregado ultimamente !!!
Acabo de actualizar TFtpFile y los componentes CDOMail en el blog si
quieres echarle un vistazo.
Saludos,
José Lalí­n
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Pregunta sobre CDO mail

Mensaje por jlalin »

Carlos,
acabo de hacer unos cambios al componente CDO.
* He añadido la propiedad :nDSNOptions cuyos valores puedes ver en
includecdomail.ch. Sirve para recibir notificaciones del estado del
correo. Aquí­ puedes ver la descripción:
http://msdn.microsoft.com/en-us/library ... 8v=exchg.1 0%29.aspx
* He añadido la propiedad lDeliverReceipt que indica si se quiere recibir
un correo de confirmación de enví­o en la dirección que indiques en
::cReceiptTO. Si la dejas en blanco usará ::cFrom
Adjunto el ZIP con los cambios. Pruébalo y si funciona correctamente luego
lo actualizo en el blog.
Saludos,
José Lalí­n
--
Avatar de Usuario
Carlos Ortiz
Mensajes: 872
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Pregunta sobre CDO mail

Mensaje por Carlos Ortiz »

Es correcto el contenido del Zip, no veo el cdomail.prg
Gracias.
"José Lalín" <dezac@corevia.com> escribió en el mensaje
news:[email=4f301737@svctag-j7w3v3j....]4f301737@svctag-j7w3v3j....[/email]
Carlos,
acabo de hacer unos cambios al componente CDO.
* He añadido la propiedad :nDSNOptions cuyos valores puedes ver en
includecdomail.ch. Sirve para recibir notificaciones del estado del
correo. Aquí puedes ver la descripción:
http://msdn.microsoft.com/en-us/library ... 8v=exchg.1 0%29.aspx
* He añadido la propiedad lDeliverReceipt que indica si se quiere recibir
un correo de confirmación de envío en la dirección que indiques en
::cReceiptTO. Si la dejas en blanco usará ::cFrom
Adjunto el ZIP con los cambios. Pruébalo y si funciona correctamente luego
lo actualizo en el blog.
Saludos,
José Lalín
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Pregunta sobre CDO mail

Mensaje por jlalin »

Carlos,
en el zip sólo está la DLL para registrar en el IDE y la LIB para enlazar
con las aplicaciones.
Saludos,
José Lalí­n
Responder