Mandar un archivo por email

Agradeciendo de antemano su ayuda. Tiempo atrás me enviaron una rutina para enviar archivos a una cuenta de email, desgraciadamente la extravíe...
Esta es una parte, creo!
tituloarch="Datos de Empresa"
theApp = CREATEOBJECT("Outlook.Application")
theNameSpace = theApp.GetNameSpace("MAPI")
theNameSpace.Logon()
MEMAIL="[email protected]" &&cliente.email && direccion a la que quiero mandar
LARCHIVO="repemail.txt" && archivo que quiero mandar
theMailItem = theApp.CreateItem(0)
If TYPE("theMailItem")=="O"
theMailItem.Recipients.ADD(MEMAIL)
theMailItem.Subject = "Relacion entre "+tituloarch
theMailItem.Attachments.ADD(LARCHIVO) && si quieres enviar archivo adjunto
theMailItem.SEND
Endif
Asume que envía pero no hace nada...
Gracias nuevamente

1 respuesta

Respuesta
1
Nico4523:
Prueba con esta rutina... a mi me funciona perfectamente.
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
Un saludo
Fernando Alvarez
La Pampa - Argentina

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas