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
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