email con foxpro
Tengo una base de Datos con clientes, a cada cliente deseo enviarle un email de invitacion a un evento, todos los emails con el mismo texto, como puedo hacer esto en un programa.
No recuerdo exactamente, pero en PortalFox.com (o era .net?) hay unos cuantos ejemplos de enviar emails con OE, fijate ahi que seguro algo hay
no recuerdo de quie es el credito pero ahi te va el codigo:
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 = "c:compraentrega.dbf"
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(.f.)
oform.Session1.signoff
release oform
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 = "c:compraentrega.dbf"
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(.f.)
oform.Session1.signoff
release oform
