Página 1 de 1

Pregunta sobre CDO mail

Publicado: Sab Feb 04, 2012 4:42 am
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.

Pregunta sobre CDO mail

Publicado: Lun Feb 06, 2012 11:00 am
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

Pregunta sobre CDO mail

Publicado: Lun Feb 06, 2012 6:11 pm
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.
--

Pregunta sobre CDO mail

Publicado: Lun Feb 06, 2012 6:46 pm
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

Pregunta sobre CDO mail

Publicado: Lun Feb 06, 2012 7:10 pm
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
--

Pregunta sobre CDO mail

Publicado: Mar Feb 07, 2012 4:04 pm
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

Pregunta sobre CDO mail

Publicado: Mar Feb 07, 2012 9:25 pm
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