RV: [Mundo Visual FoxPro] Re: Enviar y Recibir email desde foxpro

635 views
Skip to first unread message

Armando Rodríguez B.

unread,
Jan 6, 2010, 4:41:43 PM1/6/10
to mundovis...@googlegroups.com

 

 

De: Armando Rodríguez B. [mailto:armandor...@hotmail.com]
Enviado el: Miércoles, 06 de Enero de 2010 03:39 p.m.
Para: 'mundovis...@googlegroups.com'
Asunto: RE: [Mundo Visual FoxPro] Re: Enviar y Recibir email desde foxpro

 

Hola Colegas.  Yo un tiempo utilizé el Jmail, es bueno, pero luego descubrí enviarlos mediante CDO.  Que publicara mi maestro el gurú Luis María Guayán.  Esta es la liga.

http://www.portalfox.com/index.php?name=News&file=article&sid=2413&theme=Printer

 

Suerte y feliz año para todos.

Armando.

 

De: mundovis...@googlegroups.com [mailto:mundovis...@googlegroups.com] En nombre de Ing.Daniel Bojorge
Enviado el: Miércoles, 06 de Enero de 2010 03:30 p.m.
Para: mundovis...@googlegroups.com
Asunto: Re: [Mundo Visual FoxPro] Re: Enviar y Recibir email desde foxpro

 

Hola, les paso por acá cómo es que yo usé (en algún momento el JMAIL)

 

 

* Ejemplo de como enviar un email con

* adjuntos usando el componente

* w3JMail de DIMAC

*

* Por: Victor Espina

*

**Reeditado por Ing. Daniel Bojorge 16/07/2k7

**Parámetro

**                pdestino,pasunto,pmensaje

**      prom será (nore...@contabilidaddebs.com)

****************************************************************************************

Parameters pDestino,pAsunto,pMensaje,pServer,pFrom,pcFrom,pAdjunto

 

Local oError As Object,vlReturn,oEmail

 

Try

 

        *-- Se instancia el componente

        *

 

        Try

                    oEmail = Createobject("JMail.Message")

                    vlReturn = 0

        Catch To loError

                    Try

                                !registrar.bat

                                oEmail = Createobject("JMail.Message")

                                vlReturn = 0

                    Catch To loError

                                vlReturn = -1

                    Endtry

        Endtry

 

Catch To loError

        vlReturn =  -1

Endtry

 

 

If vlReturn = -1

        Messagebox("Imposible Enviar Notificación por Correo",64+4096,[Mail Send by.. DEBS])

        Return vlReturn

Endif

 

*

*-- Se activa el logging interno del componente

*   y se desactiva la notificacion de errores

*

 

oEmail.Logging = .T.

oEmail.Silent = .T.

 

*

*-- Remitente

*

 

oEmail.From = pFrom

 

If Empty(Alltrim(pcFrom))

        pcFrom = "Notificación del SIGA"

Endif

 

oEmail.FromName = Alltrim(pcFrom)

 

*

 

*-- Destinatario(s). El 2do parametro es opcional. Se puede

*   invocar el metodo AddRecipient las veces que sea necesario.

*

 

oEmail.AddRecipient(Alltrim(pDestino))

 

*

*-- Asunto

*

 

oEmail.Subject = Alltrim(pAsunto)

 

 

*

*-- Texto. La propiedad Body es de lectura/escritura. Adicionalmente

*   se puede usar el metodo AppendText() para anadir texto al final

*   del mensaje.

*

*   Para enviar un mensaje en formato HTML, use la propiedad HTMLBody

*   y/o el metodo AppendHTML()

*

 

oEmail.Body = Alltrim(pMensaje)

 

*

*-- Adjuntos. Se puede invocar el metodo AddAttachment() tantas veces

*   como sea necesario. El 2do parámetro indica si el archivo adjunto

*   sera incluido dentro del mensaje (in-line Attachment) o no.

*

 

If Vartype(pAdjunto)#'C'

        pAdjunto = ""

Else

        If !File(pAdjunto)

                    pAdjunto = ""

        Endif

Endif

 

If !Empty(pAdjunto)

        *oEmail.AddAttachment(FULLPATH("mail1.prg"),.F.)

        oEmail.AddAttachment(pAdjunto,.F.)

Endif

 

 

****

*Cuerpo en html

****

Local contentid

*contentId = oEmail.AddAttachment(FULLPATH(".\img\correo.gif"))

 

* As only HTML formatted emails can contain inline images

* we use HTMLBody and appendHTML

*oEmail.HTMLBody = "<html><body><font color='red'>Hi, here is a nice picture:</font><br>"

*oEmail.appendHTML "<img src=""cid:" & contentId & """>"

*oEmail.appendHTML "<br><br>good one huh?</body></html>"

oEmail.HTMLbody = pMensaje

 

* But as not all mailreaders are capable of showing HTML emails

* we will also add a standard text body

*oEmail.Body = "Too bad you can't read HTML-mail."

oEmail.appendText("Su Programa de Correo no soporta formato HTML")

****

 

 

*

*-- Se envia el mensaje. El metodo Send() devuelve .T. si se envio

*   el mensaje correctamente o .F. en caso de un error. La propiedad

*   Log contiene el log del problema ocurrio (si Logging = .T.)

*

*   El metodo Send() acepta como parametro una lista de uno o mas

*   servidores SMTP separados por coma. Es posible indicar un

*   usuario/pwd para cada servidor, usando la sintaxis:

*

*   user:pwd@server

*

 

Local lOk

 

lOk = oEmail.Send(Alltrim(pServer))

 

If lOk

        Messagebox("Mensaje enviado!",64+4096,[Mail Send by.. DEBS])

       

        Return 0

Else

        Messagebox(oEmail.Log,16+4096,[Mail Send by.. DEBS])

       

        Return -1

Endif

 

 

Lo puse textualmente a como lo usé en su momento (2007) y me funcionó, cualquier cosa pregunten.

 

 


Dios L@s Bendiga

Saludos,

Daniel (Con 1 Estrella DCE de Microsoft)
Nicaragua

visita www.debs.educaleft.com

El 6 de enero de 2010 14:07, lizardo durand <sal...@gmail.com> escribió:

Eduardo hay posibilidades de que lo subas al grupo?,
muchos te agradeceran nos beneficiaremos de la metodologia.

El 6 de enero de 2010 12:52, ger...@hbaron.com <ger...@hbaron.com> escribió:


Eduardo tambien a mi, gracias

ger...@hbaron.com


Henry Gutierrez Sanchez escribió:

Eduardo me uno tambien si es posible que por favor me envies
tu codigo, gracias.

hegu...@gmail.com <mailto:hegu...@gmail.com>


----
      "Imprimir Solo Cuando sea Necesario"

 

--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.

Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com




--
--
Sinceramente,
Lizardo

--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.

Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com

 

Armando Rodríguez B.

unread,
Jan 6, 2010, 4:47:57 PM1/6/10
to mundovis...@googlegroups.com

Y por aquí les dejo un pequeño ejemplo, generando un reporte de vfp como una imagen .jpg.  Todas las variables que comienzen con “v”, deben ser asignadas previamente, por ejemplo el vsmtp en mi caso es mail.sistemex.com.mx:2525.

 

Suerte Para todos.

 

TRY

      vsmtp = STRTRAN(vsmtp,":2525","")

      loCfg = CREATEOBJECT("CDO.Configuration")

      WITH loCfg.Fields

        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = vSmtp

        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 2525

        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = vEmail

        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = vPass

        .Update

      ENDWITH

 

      loMsg = CREATEOBJECT ("CDO.Message")

      WITH loMsg

        .Configuration = loCfg

        .From = vEmail

        .To = ALLTRIM(proveedores.emailventa)

        .Cc = ALLTRIM(vCopiaCo)

        .Fields("urn:schemas:mailheader:disposition-notification-to") = .From

        .Fields("urn:schemas:mailheader:return-receipt-to") = .From

        .Fields("urn:schemas:httpmail:priority") = 1

        .Fields("urn:schemas:mailheader:X-Priority") = 1

        .Fields("urn:schemas:httpmail:importance") = 2

        .Fields.Update

      vNombreUsuario = "<p>"+ALLTRIM(PROPER(vUsuarioSist))+"</p>"

 

      .HTMLBody = "<p><img src='cid:id_imagen10'></p>" + ;

      "<p>Le adjunto Orden de Compra.</p>"+;

      "<p>Le recuerdo que deberá indicar en su factura el Num. de la orden de compra que nos está entregando</p>"+;

      "<p>y realizar una cita para la recepción de su mercancía con 24 horas de anticipación</p>"+;

      "<p> </p>"+;

      vNombreUsuario+;

      "<p>Saludos.</p>"

 

      loBP = .AddRelatedBodyPart("c:\tmp\ordencpa.jpg", "id_imagen10", 1)

      WITH loBP.Fields

            .Item("urn:schemas:mailheader:Content-ID") = "id_imagen10"

            .Update

      ENDWITH

 

      .Subject = "Orden de Compra MARCO DELLI "+thisform.txtfa_folfac.Value

      .TextBody = "Le adjunto Orden de Compra."+CHR(13)+CHR(13)+"Le recuerdo que deberá indicar en su factura el Num. de la orden de compra que nos está entregando"+CHR(13)+"y realizar una cita para la recepción de su mercancía con 24 horas de anticipación"+CHR(13)+CHR(13)+ALLTRIM(PROPER(vUsuarioSist))+CHR(13)+"Saludos."

 

      .Send()

      ENDWITH

CATCH TO loErr

  MESSAGEBOX("No se pudo enviar el mensaje" + CHR(13) + ;

    "Error: " + TRANSFORM(loErr.ErrorNo) + CHR(13) + ;

    "Mensaje: " + loErr.Message , 16, "Error")

FINALLY

  MESSAGEBOX("Se envió el mensaje a" + CHR(13) + ALLTRIM(proveedores.emailventa),48,"Mensaje.")

  loMsg = NULL

  loCfg = NULL

ENDTRY

Reply all
Reply to author
Forward
0 new messages