FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Imagen en envio de e-mail
Posts: 325
Joined: Sun Feb 03, 2008 11:04 PM
Imagen en envio de e-mail
Posted: Sat Oct 18, 2008 08:29 AM
Amigos....

Estoy usando para el envio de e-mail la rutina de abajo....:

se puede que en el cuerpo del mensaje incorporar una imagen? para que el que recibe el correo visualice dicha imagen?.

Con la rutina la puedo poner como documento adjunto, pero quiero ver como dije que el que recibe el correo visualice dicha imagen.

muchas gracias

david
Argentina



#include "MAIL.ch" 

*xOrigin     = Direccion de Origen   {}
*xRecipients = Direccion de Destino  {}
*xFiles      = Archivos a Enviar     {}
*xMensaje    = Mensaje								{}
*xSubject    = Titulo de E-mail      ''

************************************* 
FUNCTION       xEnviarMail( xOrigin     ,;
                            xRecipients ,;
                            xFiles      ,;
                            xMensaje    ,;
                            xSubject    )
************************************* 
Local oMail 
Local cMensaje1 := xMensaje[1]
Local cMensaje2 := xMensaje[2]
Local cMensaje3 := xMensaje[3]
local cSubject :=  xSubject				//"T铆tulo del mensaje" 

*local cNoteText := cMensaje1 + CRLF   + CRLF    + cMensaje2 + CRLF    + CRLF    + cMensaje3 
local cNoteText := cMensaje1 + chr(13)+ chr(13) + cMensaje2 + chr(13) + chr(13) + cMensaje3 
* local cNoteText := cMensaje1 + ' ' + cMensaje2 + ' 'cMensaje3 

local cMsgType := nil 

local cConversationID := nil 

local dDate := Date() 

local cTime := Time() 

local lReceipt := .f. 

local lFromUser := .t.  						// Abre el gestor de correo 

local aOrigin := xOrigin						//{"tudireccion@dominio.com"} 
local aRecipients := xRecipients		//{CLIENTES->Mail} 
local aFiles := xFiles 						  //{"c:\factura1.pdf","c:\factura2.pdf"} 

// 
cMensaje1 := xMensaje[1]		//"Linea 1 del mensaje" 
cMensaje2 := xMensaje[2]		//"Linea 2 del mensaje" 
cMensaje3 := xMensaje[3]		//"Linea 3 del mensaje" 
// 

oMail:=TMail():New(cSubject ,; 
                             cNoteText ,; 
                             cMsgType ,; 
                             cConversationID ,; 
                             dDate,; 
                             cTime,; 
                             lReceipt,; 
                             lFromUser,; 
                             aOrigin,; 
                             aRecipients,; 
                             aFiles) 
oMail:Activate() 
oMail:End() 

RETURN NIL
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Imagen en envio de e-mail
Posted: Mon Mar 25, 2013 06:58 PM

Nadie?

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 120
Joined: Wed Mar 11, 2009 07:32 PM
Re: Imagen en envio de e-mail
Posted: Mon Mar 25, 2013 08:55 PM
Hola wenas wenas

con cdo. lo hago asi


Code (fw): Select all Collapse
Function Envia_eMail(oCfg,cFrom, cTo, cCC, cBCC, cMsg, cSubject)
聽
聽 local cToken
聽 local lRet := .f. , Omsg , x, i, loBP
聽聽 聽
聽 聽 聽 聽TRY
聽 聽 聽 聽 聽oMsg := CREATEOBJECT ( "CDO.Message" )
聽 聽 聽 聽 聽 聽WITH OBJECT oMsg
聽 聽 聽 聽 聽 聽 聽 聽 :Configuration = oCfg
聽 聽 聽 聽 聽 聽 聽 聽 :From = cFrom 聽 聽 聽 聽 聽 聽 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 :To = cTo
聽 聽 聽 聽 聽 聽 聽 聽 :CC = cCC
聽 聽 聽 聽 聽 聽 聽 聽 :BCC = cBCC
聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 聽 聽 :Subject = cSubject
聽 聽 聽 聽 聽 聽 聽 聽 :TextBody = cMsg
聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 聽 聽 For x := 1 To Len( aAttach )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 if aAttach[x] <> NIL
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽:AddAttachment(AllTrim(aAttach[x]))
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 endif
聽 聽 聽 聽 聽 聽 聽 聽 Next
聽 聽 聽 聽 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 :HTMLBody = "<p><img src='cid:id_imagen10'></p>" +"<p>La imagen de arriba esta embebida en el mensaje.</p>"
聽 聽 聽 聽 聽 聽 聽 聽 loBP:=:AddRelatedBodyPart("c:\faceleben\kasto2.bmp", "id_imagen10", 1)
聽 聽 聽 聽 聽 聽 聽 聽 WITH OBJECT loBP:Fields
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :Item("urn:mailheader:Content-ID") = "id_imagen10"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :Update()
聽 聽 聽 聽 聽 聽 聽 聽 END WITH

聽 聽 聽 聽 聽 聽 聽 聽 :Send()
聽 聽 聽 聽 聽 聽END WITH
聽 聽 聽 聽 聽 聽lRet := .t.
聽 聽 聽 聽CATCH
聽 聽 聽 // 聽 聽 MsgInfo("No se pudo mandar la factura ")
聽 聽 聽 聽 聽 聽lRet := .f.
聽 聽 聽 聽 聽END
聽
聽 聽 
Return lRet


saludos
Benjamin Casarrubias Moreno
Cd. Obreg贸n, Sonora, M茅xico
chino72vale@hotmail.com
Fivewin 24.04, Harbour 3.3, xharbour 1.2.1, Fivelinux, Visual Estudio 2022
Oracle Api Rest, SDK Contpaq, Facturaci贸n Electr贸nica, XML DIOT 2025
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Imagen en envio de e-mail
Posted: Tue Mar 26, 2013 12:37 PM

Muchas Gracias benjiben.

Salu2.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Imagen en envio de e-mail
Posted: Tue Mar 26, 2013 01:36 PM

M谩s ejemplos ac谩:

http://www.portalfox.com/index.php?name ... me=Printer

Muchas gracias, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 120
Joined: Wed Mar 11, 2009 07:32 PM
Re: Imagen en envio de e-mail
Posted: Tue Mar 26, 2013 02:18 PM

de ese portal saque la forma de mandar imagenes

saludos

trae muchas cosas que se pueden aprovechar

Benjamin Casarrubias Moreno
Cd. Obreg贸n, Sonora, M茅xico
chino72vale@hotmail.com
Fivewin 24.04, Harbour 3.3, xharbour 1.2.1, Fivelinux, Visual Estudio 2022
Oracle Api Rest, SDK Contpaq, Facturaci贸n Electr贸nica, XML DIOT 2025
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Imagen en envio de e-mail
Posted: Tue Mar 26, 2013 04:51 PM
Code (fw): Select all Collapse
          /*
          Solicitando confirmaci贸n de lectura

          WITH loMsg
         .From = "user@mail.com"
         .Fields("urn:mailheader:disposition-notification-to") = .From
         .Fields("urn:mailheader:return-receipt-to") = .From
         .Fields.Update
          ENDWITH
          */

         :Fields("urn:mailheader:disposition-notification-to") = :FROM
         :Fields("urn:mailheader:return-receipt-to")           = :FROM


Esto no funicon贸.

Salu2
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Imagen en envio de e-mail
Posted: Tue Mar 26, 2013 07:06 PM
Resuelto:

Code (fw): Select all Collapse
     // Solicitando confirmaci贸n de lectura
     // Asi funciona...
     :Fields( "urn:mailheader:disposition-notification-to" ):Value := cFrom
     :Fields:UpDate()
     //cFrom=Cuenta de salida. Quem envia o email.


Gracias, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Imagen en envio de e-mail
Posted: Wed Mar 27, 2013 03:52 PM

He probado esta clase, mand茅 una im谩gen no como attachment sino que se muestre en el cuerpo del correo. El problema que encontr茅 es que en algunos lo muestra reducido ( gmail ) o me pide una confirmaci贸n para mostrar la im谩gen ( hotmail ). Quisiera probar enviando un archivo html pero tratando de usar el m茅todo "CreateMHTMLBody" me da un error, como si el m茅todo no existiese en la clase. Alguien a probado este m茅todo. Desde ya much铆simas gracias.

Saludos

Posts: 120
Joined: Wed Mar 11, 2009 07:32 PM
Re: Imagen en envio de e-mail
Posted: Wed Mar 27, 2013 04:45 PM

hola wen dia

le he probado y funciona   y muestra el html al recibir  ,, checalo

:CreateMHTMLBody(&quot;File://c:\faceleben\suave.html&quot;,0)

saludos

Benjamin Casarrubias Moreno
Cd. Obreg贸n, Sonora, M茅xico
chino72vale@hotmail.com
Fivewin 24.04, Harbour 3.3, xharbour 1.2.1, Fivelinux, Visual Estudio 2022
Oracle Api Rest, SDK Contpaq, Facturaci贸n Electr贸nica, XML DIOT 2025
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Imagen en envio de e-mail
Posted: Wed Mar 27, 2013 11:01 PM
Gracias Benjiben por contestar, Aqui te muestro el c贸digo y a continuaci贸n el mensaje de error

Code (fw): Select all Collapse
Local loCfg := CreateObject( "CDO.Configuration" )
Local hIni 聽:= HB_ReadIni( oVarGlobales : cIni )
聽 聽 
With Object loCfg : Fields
聽 聽 :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ) : Value 聽 聽 聽 := Alltrim( hIni[ "Correo" ][ "Smtp" ] )
聽 聽 :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ) : Value 聽 := Alltrim( hIni[ "Correo" ][ "Port" ] )
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ) : Value 聽 聽 聽 聽:= 2
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ) : Value := .T.
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ) : Value 聽 聽 聽 := .T.
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" ) : Value 聽 聽 := <!-- e --><a href="mailto:'micorreo@gmail.com">'micorreo@gmail.com</a><!-- e -->'
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" ) : Value 聽 聽 := 'pasword'
聽 聽 :Update()
End
loMsg := CREATEOBJECT ( "CDO.Message" )
With Object loMsg
:Configuration = loCfg
聽聽 聽:From = <!-- e --><a href="mailto:'micorreo@gmail.com">'micorreo@gmail.com</a><!-- e -->' //hIni[ "Correo" ][ "Usuario" ] //"hmdellacasa@yahoo.com.ar"
聽 聽聽:To = <!-- e --><a href="mailto:'tu_correo@yahoo.com.ar">'tu_correo@yahoo.com.ar</a><!-- e -->' //'horacio_dellacasa@yahoo.com.ar' 聽 聽 // <----- 聽 聽 聽 Coloca ac谩 tu direcci贸n de correo
聽 聽聽:Subject = Alltrim( oVarGlobales : cEmpresa ) //Alltrim( cAsunto )
聽 聽 :CreateMHTMLBody("file://c:\admin\index.htm", 0) 
聽 聽 :Send()
End
Return 0


Mensaje de error
Code (fw): Select all Collapse
plicaci贸n
===========
聽 聽Path y nombre: C:\colegio_c\T-REX.EXE (32 bits)
聽 聽Tama帽o: 4,795,904 bytes
聽 Versi贸n del compilador: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9421)
聽 聽 Versi贸n librer铆a GUI: FWHX 12.04
聽 聽versi贸n de Windows: 5.1, Build 2600 Service Pack 2

聽 Tiempo de ejecuci贸n: 0 hours 0 mins 1 secs 
聽 聽Error occurrido el: 28/03/2013, 19:55:31
聽Descripci垄n del error: Error CDO.Message/3 聽DISP_E_MEMBERNOTFOUND: CREATEMHTMLBODY
聽 聽Args:
聽 聽 聽[ 聽 1] = C 聽 file://c:\admin\index.htm
聽 聽 聽[ 聽 2] = N 聽 0

Llamadas al Stack
===========
聽 聽Llamado por: 聽=> TOLEAUTO:CREATEMHTMLBODY( 0 )
聽 聽Llamado por: C:\colegio_c\ERRSYSW.PRG => MANDACORREO( 473 )
聽 聽Llamado por: C:\colegio_c\ERRSYSW.PRG => (b)ERRORDIALOG( 437 )
聽 聽Llamado por: .\source\function\MSGRUN.PRG => (b)MSGRUN( 36 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => (b)TDIALOG:TDIALOG( 87 )
聽 聽Llamado por: 聽=> TDIALOG:DISPLAY( 0 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 873 )
聽 聽Llamado por: 聽=> DIALOGBOXINDIRECT( 0 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 270 )
聽 聽Llamado por: .\source\function\MSGRUN.PRG => MSGRUN( 42 )
聽 聽Llamado por: C:\colegio_c\ERRSYSW.PRG => ERRORDIALOG( 437 )
聽 聽Llamado por: C:\colegio_c\ERRSYSW.PRG => (b)ERRORSYS( 31 )
聽 聽Llamado por: 聽=> DBUSEAREA( 0 )
聽 聽Llamado por: C:\colegio_c\util.prg => CARGABASES( 115 )
聽 聽Llamado por: C:\colegio_c\plt.prg => (b)START( 358 )
聽 聽Llamado por: .\source\function\MSGRUN.PRG => (b)MSGRUN( 36 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => (b)TDIALOG:TDIALOG( 87 )
聽 聽Llamado por: 聽=> TDIALOG:DISPLAY( 0 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 873 )
聽 聽Llamado por: 聽=> DIALOGBOXINDIRECT( 0 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 270 )
聽 聽Llamado por: .\source\function\MSGRUN.PRG => MSGRUN( 42 )
聽 聽Llamado por: C:\colegio_c\plt.prg => (b)START( 358 )
聽 聽Llamado por: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 973 )
聽 聽Llamado por: C:\colegio_c\plt.prg => START( 358 )
聽 聽Llamado por: C:\colegio_c\plt.prg => MAIN( 16 )


Que estoy haciendo mal ??? Gracias de antemano

Saludos
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Imagen en envio de e-mail
Posted: Wed Mar 27, 2013 11:01 PM
Gracias Benjiben por contestar, Aqui te muestro el c贸digo y a continuaci贸n el mensaje de error

Code (fw): Select all Collapse
Local loCfg := CreateObject( "CDO.Configuration" )
Local hIni 聽:= HB_ReadIni( oVarGlobales : cIni )
聽 聽 
With Object loCfg : Fields
聽 聽 :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ) : Value 聽 聽 聽 := Alltrim( hIni[ "Correo" ][ "Smtp" ] )
聽 聽 :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ) : Value 聽 := Alltrim( hIni[ "Correo" ][ "Port" ] )
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ) : Value 聽 聽 聽 聽:= 2
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ) : Value := .T.
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ) : Value 聽 聽 聽 := .T.
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" ) : Value 聽 聽 := <!-- e --><a href="mailto:'micorreo@gmail.com">'micorreo@gmail.com</a><!-- e -->'
聽 聽聽:Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" ) : Value 聽 聽 := 'pasword'
聽 聽 :Update()
End
loMsg := CREATEOBJECT ( "CDO.Message" )
With Object loMsg
:Configuration = loCfg
聽聽 聽:From = <!-- e --><a href="mailto:'micorreo@gmail.com">'micorreo@gmail.com</a><!-- e -->' //hIni[ "Correo" ][ "Usuario" ] //"hmdellacasa@yahoo.com.ar"
聽 聽聽:To = <!-- e --><a href="mailto:'tu_correo@yahoo.com.ar">'tu_correo@yahoo.com.ar</a><!-- e -->' //'horacio_dellacasa@yahoo.com.ar' 聽 聽 // <----- 聽 聽 聽 Coloca ac谩 tu direcci贸n de correo
聽 聽聽:Subject = Alltrim( oVarGlobales : cEmpresa ) //Alltrim( cAsunto )
聽 聽 :CreateMHTMLBody("file://c:\admin\index.htm", 0) 
聽 聽 :Send()
End
Return 0


Mensaje de error
Code (fw): Select all Collapse
plicaci贸n
===========
聽 聽Path y nombre: C:\colegio_c\T-REX.EXE (32 bits)
聽 聽Tama帽o: 4,795,904 bytes
聽 Versi贸n del compilador: xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9421)
聽 聽 Versi贸n librer铆a GUI: FWHX 12.04
聽 聽versi贸n de Windows: 5.1, Build 2600 Service Pack 2

聽 Tiempo de ejecuci贸n: 0 hours 0 mins 1 secs 
聽 聽Error occurrido el: 28/03/2013, 19:55:31
聽Descripci垄n del error: Error CDO.Message/3 聽DISP_E_MEMBERNOTFOUND: CREATEMHTMLBODY
聽 聽Args:
聽 聽 聽[ 聽 1] = C 聽 file://c:\admin\index.htm
聽 聽 聽[ 聽 2] = N 聽 0

Llamadas al Stack
===========
聽 聽Llamado por: 聽=> TOLEAUTO:CREATEMHTMLBODY( 0 )
聽 聽Llamado por: C:\colegio_c\ERRSYSW.PRG => MANDACORREO( 473 )
聽 聽Llamado por: C:\colegio_c\ERRSYSW.PRG => (b)ERRORDIALOG( 437 )
聽 聽Llamado por: .\source\function\MSGRUN.PRG => (b)MSGRUN( 36 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => (b)TDIALOG:TDIALOG( 87 )
聽 聽Llamado por: 聽=> TDIALOG:DISPLAY( 0 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 873 )
聽 聽Llamado por: 聽=> DIALOGBOXINDIRECT( 0 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 270 )
聽 聽Llamado por: .\source\function\MSGRUN.PRG => MSGRUN( 42 )
聽 聽Llamado por: C:\colegio_c\ERRSYSW.PRG => ERRORDIALOG( 437 )
聽 聽Llamado por: C:\colegio_c\ERRSYSW.PRG => (b)ERRORSYS( 31 )
聽 聽Llamado por: 聽=> DBUSEAREA( 0 )
聽 聽Llamado por: C:\colegio_c\util.prg => CARGABASES( 115 )
聽 聽Llamado por: C:\colegio_c\plt.prg => (b)START( 358 )
聽 聽Llamado por: .\source\function\MSGRUN.PRG => (b)MSGRUN( 36 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => (b)TDIALOG:TDIALOG( 87 )
聽 聽Llamado por: 聽=> TDIALOG:DISPLAY( 0 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 873 )
聽 聽Llamado por: 聽=> DIALOGBOXINDIRECT( 0 )
聽 聽Llamado por: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 270 )
聽 聽Llamado por: .\source\function\MSGRUN.PRG => MSGRUN( 42 )
聽 聽Llamado por: C:\colegio_c\plt.prg => (b)START( 358 )
聽 聽Llamado por: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 973 )
聽 聽Llamado por: C:\colegio_c\plt.prg => START( 358 )
聽 聽Llamado por: C:\colegio_c\plt.prg => MAIN( 16 )


Que estoy haciendo mal ??? Gracias de antemano

Saludos
Posts: 120
Joined: Wed Mar 11, 2009 07:32 PM
Re: Imagen en envio de e-mail
Posted: Thu Mar 28, 2013 04:58 AM
hola anexo la funcion completa


Code (fw): Select all Collapse
***************************************************************
* Enviando emails 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 *
* 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 *
* Desenvolvedor: Ricardo de Moura Marques 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 *
* email: ricardomouramarques@hotmail.com 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽*
* 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 *
* Agradecimentos ao Alessandro Seribeli Barreto - "Ale SB" 聽 聽*
* pelo c贸digo inicial, sem o qual, esse projeto 聽 聽 聽 聽 聽 聽 聽 *
* n茫o seria poss铆vel 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 *
* 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 *
***************************************************************

#include "fivewin.ch"


memvar correo 
Static cAttach := ""
Static aAttach := {}
********************************************************************************
Function Main()
local cdestino :="chino72vale@hotmail.com;ferropuerto@ferropuerto.com"
local carchivos:={"C:\fwh\samples\hola.txt","C:\fwh\samples\texto.txt"}
local ctxt 聽 聽 :="a mandar un correo"
local csubject :="correo de pruebas " 
local cbmp 聽 聽 :="c:\faceleben\kasto2.bmp"
local chtml 聽 聽:="c:\faceleben\suave.html"

聽 if config_email(cdestino, carchivos, ctxt, csubject,cbmp,chtml)
聽 聽 聽 ? "se mando el correo"
聽 else
聽 聽 聽? " no se mando correo"
聽 endif
聽


Return Nil


********************************************************************************
Function Config_eMail(cdest, cfiles, ctxt, csubject, cbmp, chtml )

聽 Local cUser,cPass,cRemt, cCC, cCCO
聽 local lRet := .f.
聽 local oCfg, oError
聽 local cServ :="smtp.xxxxx.com" 聽 聽 聽 聽 // servidor smtp
聽 local nPort :=25 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽// puerto
聽 local lAut 聽:=.t.
聽 local lSSL 聽:=.f. 聽 聽 聽 
聽
聽
聽 if cfiles=nil
聽 聽 聽aAttach:={}
聽 else
聽 聽 聽aAttach:=cfiles
聽 endif 聽 
聽
聽 
聽 cPass:="xxxxxx" 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽//usuario 聽
聽 cuser:="xxxxx@xxxxx.com" 聽 聽 聽 聽 聽 聽 //correo del quien manda
聽 ccc:=""
聽 ccco:=""
聽 cRemt:=cuser
聽 
聽 
聽// aAttach:=CFILES 聽 // serian los archivos anexados we
聽 
聽 if Empty(cPass) .or. Empty(cRemt) .or. empty(cDest) 
聽 聽 聽? "falta datos para mandar correo,,,, destino/ remitente / usuario checar "
聽 聽 聽return .f.
聽 endif 聽 
聽 ? "entramos a la configucraion"
聽 TRY
聽 聽 oCfg := CREATEOBJECT( "CDO.Configuration" )
聽 聽 聽 WITH OBJECT oCfg:Fields
聽 聽 聽 聽 聽 聽:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" 聽 聽 聽 ):Value := cServ
聽 聽 聽 聽 聽 聽:Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" 聽 ):Value := nPort
聽 聽 聽 聽 聽 聽:Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" 聽 聽 聽 聽):Value := 2
聽 聽 聽 聽 聽 聽:Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := lAut
聽 聽 聽 聽 聽 聽:Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" 聽 聽 聽 ):Value := lSSL
聽 聽 聽 聽 聽 聽:Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" 聽 聽 ):Value := cUser
聽 聽 聽 聽 聽 聽:Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" 聽 聽 ):Value := cPass
聽 聽 聽聽 聽聽 聽 聽 :Update()
聽 聽 聽 END WITH
聽 聽 聽 lRet := .t.
聽 CATCH oError
聽 聽 MsgInfo( "No se pudo enviar e-Mail!" 聽+CRLF+ ;
聽 聽 聽 聽 聽 聽 聽"Error: " 聽 聽 + Transform(oError:GenCode, 聽 nil) + ";" +CRLF+ ;
聽 聽 聽 聽 聽 聽 聽"SubC: " 聽 聽 聽+ Transform(oError:SubCode, 聽 nil) + ";" +CRLF+ ;
聽 聽 聽 聽 聽 聽 聽"OSCode: " 聽 聽+ Transform(oError:OsCode, 聽 聽nil) + ";" +CRLF+ ;
聽 聽 聽 聽 聽 聽 聽"SubSystem: " + Transform(oError:SubSystem, nil) + ";" +CRLF+ ;
聽 聽 聽 聽 聽 聽 聽"Mensaje: " 聽 + oError:Description, "Atenci贸n" )

聽 END
聽 //--> FIM DAS CONFIGURA脟OES.
聽 if lRet
聽 聽 聽lRet := Envia_eMail(oCfg,cRemt,cDest, cCC, cCCO, cTxt, cSubject, cbmp, chtml)聽 聽
聽 endif
聽 聽
Return lRet
聽




********************************************************************************
Function Envia_eMail(oCfg,cFrom, cTo, cCC, cBCC, cMsg, cSubject, cbmp, chtml)
聽
聽 local cToken
聽 local lRet := .f. , Omsg , x, i, loBP
聽聽 聽
聽 聽 聽 聽TRY
聽 聽 聽 聽 聽oMsg := CREATEOBJECT ( "CDO.Message" )
聽 聽 聽 聽 聽 聽WITH OBJECT oMsg
聽 聽 聽 聽 聽 聽 聽 聽 :Configuration = oCfg
聽 聽 聽 聽 聽 聽 聽 聽 :From = cFrom 聽 聽 聽 聽 聽 聽 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 :To = cTo
聽 聽 聽 聽 聽 聽 聽 聽 :CC = cCC
聽 聽 聽 聽 聽 聽 聽 聽 :BCC = cBCC
聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 聽 聽 :Subject = cSubject
聽 聽 聽 聽 聽 聽 聽 聽 :TextBody = cMsg
聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 聽 聽 For x := 1 To Len( aAttach )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 if aAttach[x] <> NIL
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽:AddAttachment(AllTrim(aAttach[x]))
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 endif
聽 聽 聽 聽 聽 聽 聽 聽 Next
聽 聽 聽 聽 聽 聽
聽 聽 聽 聽 聽 聽 聽 聽 :HTMLBody = "<p><img src='cid:id_imagen10'></p>" +"<p>La imagen de arriba esta embebida en el mensaje.</p>"
聽 聽 聽 聽 聽 聽 聽 聽 loBP:=:AddRelatedBodyPart(cbmp, "id_imagen10", 1)
聽 聽 聽 聽 聽 聽 聽 聽 WITH OBJECT loBP:Fields
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :Item("urn:mailheader:Content-ID")= "id_imagen10"
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 :Update()
聽 聽 聽 聽 聽 聽 聽 聽 END WITH
聽 聽 聽 聽 聽 聽 聽 聽 :CreateMHTMLBody("File://"+chtml,0)
聽 聽 聽 聽 聽 聽 聽 聽 :Send()
聽 聽 聽 聽 聽 聽END WITH
聽 聽 聽 聽 聽 聽lRet := .t.
聽 聽 聽 聽CATCH
聽 聽 聽 // 聽 聽 MsgInfo("No se pudo mandar la factura ")
聽 聽 聽 聽 聽 聽lRet := .f.
聽 聽 聽 聽 聽END
聽
聽 聽 
Return lRet


se llama la funcion
config_email(cdestino, carchivos, ctxt, csubject,cbmp,chtml)

compilado con xharbour 1.2.1
Benjamin Casarrubias Moreno
Cd. Obreg贸n, Sonora, M茅xico
chino72vale@hotmail.com
Fivewin 24.04, Harbour 3.3, xharbour 1.2.1, Fivelinux, Visual Estudio 2022
Oracle Api Rest, SDK Contpaq, Facturaci贸n Electr贸nica, XML DIOT 2025
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Imagen en envio de e-mail
Posted: Thu Mar 28, 2013 11:05 PM

Gracias benjiben, pruebo y te comento ...

Saludos

Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Imagen en envio de e-mail
Posted: Thu May 16, 2013 02:53 PM

Buenas amigos, al a帽adir una imagen bmp al emal, la imagen viene correcta, m谩s el texto(mensageria) del email no. Que hacer?

gracias, saludos.

Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341