Envio Email

Como puedo enviar un archivo adjunto por email utilice dentro de un formulario:
strProfile = "Outlook"
*strPassword = "passwordperfil"
strRecipient = "[email protected]" &&"[email protected]"
strSubject = "HOLA" &&"Asunto"
strBody = "Este es el mensaje..."
stradjunto= "c:SILOGPRAUNO.TXT" && indicar la ruta
theApp = CreateObject("Outlook.Application")
theNameSpace = theApp.GetNameSpace("MAPI")
theNameSpace.Logon(strProfile)
theMailItem = theApp.CreateItem(0)
theMailItem.Recipients.Add( strRecipient )
theMailItem.Subject = strSubject
theMailItem.Body = strBody
theMailItem.CC=""
theMailItem.attachments.Add (stradjunto) && lo adjunta al mail.
theMailItem.Send
theNameSpace.Logoff
me saca error

1 respuesta

Respuesta
1
Para enviar Fácilmente Email desde VFP.
Debes insertar los controles MAPISESSION, y MAPIMESSAGES asignandole el Nombre 'Sesión' y 'mensajes' respectivamente.
El código adjuntado lo copias en el BOTON de comandos y envías tu email.
Es necesario tener configurado el OUTLOOK para que funcione correctamente.
Además crea la tabla Destin.DBF con el campo EMAIL en donde especificarás las direcciones a las que le enviarás el archivo.
Suerte ...
rutsal="c:/" && Directiorio archivo="nombre_de_tu_archivo.ext"
mi_archivo=rutsal+archivo
mi_asunto= "Envio de Mi_Archivo FECHA "+dtoc(date())
if !file(mi_archivo) then
mensaje="No se Encontro Archivo"
ntipo= 0 + 48 + 0
messagebox(mensaje,ntipo,gtitulo)
return
endif
ctexto = "Aquí va el Texto." && Cuerpo del Mensaje
oldpath= sys(5)+Sys(2003)
*************
*Especificacndo Datos de Sesion
*------------*
thisform.mensajes.AddressResolveUI= .f.
thisform.sesion.LogonUI = .T.
thisform.sesion.DownloadMail= .F.
thisform.sesion.NewSession= .T.
thisform.sesion.signon
thisform.mensajes.sessionid = thisform.sesion.sessionid
thisform.mensajes.compose
thisform.mensajes.msgsubject = mi_asunto
thisform.mensajes.msgnotetext = ctexto && Cuerpo
selec destin
scan
thisform.mensajes.recipindex=recno()-1
thisform.mensajes.RecipAddress= allt(email)
endscan
*thisform.mensajes.ResolveName
* Adjuntando Archivos
If Type("mi_archivo") =="C" .and. ! Empty(mi_archivo)
dimension lcAttachment(1)
lcAttachment(1)= mi_archivo
FOR lnCount = 1 TO ALEN(lcAttachment)
thisform.mensajes.AttachmentIndex = lnCount - 1
thisform.mensajes.AttachmentPathName = mi_archivo &&
thisform.mensajes.AttachmentPosition = lnCount - 1
ENDFOR
Endif
Close database
Thisform. Mensajes. Send(.t.)
Thisform. Sesion. Signoff
set defa to &oldpath

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas