Enviar Emails en VFP 5

En mi programa emito un presupuesto por impresora pero ahora necesito agregar la opcion de enviarlo por correo electronico , como lo puedo hacer en VFP 5.0 .
Si tengo que migrar a otra version no hay problemas

1 Respuesta

Respuesta
1
Usa la siguiente rutina:
Local pcPara, pcAsunto, pcCuerpo, paFichEnviar, plMostrarDialogo
IF EMPTY(pcPara)
pcPara = "direccion@de_correo.es"
ENDIF
IF EMPTY(pcAsunto)
pcAsunto = "<Asunto>"
ENDIF
IF EMPTY(pcCuerpo)
pcCuerpo = ""
ENDIF
IF EMPTY(paFichEnviar)
paFichEnviar = ""
ENDIF
LOCAL oform
oform = CreateObject("form")
oform.addobject("Session1","olecontrol","MSMAPI.mapiSession")
IF TYPE('oform.Session1') <> 'O'
MESSAGEBOX('No se ha podido instanciar la aplicación de correo.', 64, 'Atención')
RELEASE oform
RETURN .F.
Endif
Oform. Addobject("Message1","olecontrol","MSMAPI.mapiMessages")
IF TYPE('oform.Message1') <> 'O'
MESSAGEBOX('No se ha podido instanciar la aplicación de correo.', 64, 'Atención')
RELEASE oform
RETURN .F.
ENDIF
oform.Session1.LogonUI = .t.
*- Si no se pone la propiedad a .F. y en OUTLOOK está puesto trabajar sin conexión
*- se cuelga
oform.Session1.DownloadMail=.f.
oform.Session1.signon
oform.Message1.sessionid = oform.Session1.sessionid
oform.Message1.compose
oform.Message1.RecipDisplayName = pcPara
oform.Message1.msgsubject = pcAsunto
oform.Message1.msgnotetext = pcCuerpo
*- Si no es un array, lo crea
IF TYPE('paFichEnviar[1]') = 'U'
LOCAL lcFileEnviar
lcFileEnviar = paFichEnviar
DIMENSION paFichEnviar(1)
paFichEnviar(1) = lcFileEnviar
ENDIF
LOCAL lnContFiles
lnContFiles = 1
FOR lnCount = 1 TO ALEN(paFichEnviar,1)
*- Si existen los archivos
IF FILE(paFichEnviar(lnContFiles))
oform.Message1.AttachmentIndex = lnContFiles - 1
oform.Message1.AttachmentPathName = paFichEnviar(lnContFiles)
oform.Message1.AttachmentPosition = lnContFiles - 1
lnContFiles = lnContFiles + 1
ENDIF
ENDFOR
oform.Message1.send(plMostrarDialogo)
Oform. Session1. Signoff
Release oform
SUERTE.-

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas