e-mail desde vfp

Ernesto William
06 de Septiembre del 2003
A continuacion trascribo el segmento de codigo que estoy utilizando

Como hago para que el email se envie sin pedir que acepte o no el envio?

Como hago para incluir con copia a?

Les agradezco sus comentarios



*
*
=correo_e( .T.,"[email protected]","netlog.txt","Error en xxx","Anexo envio archivo con error generado por el sistema")
*
*
*
FUNCTION correo_e
PARAMETERS plMostrarDialogo,pcPara, paFichEnviar, pcAsunto, pcCuerpo
*Local pcPara, pcAsunto, pcCuerpo, paFichEnviar, plMostrarDialogo

SCREEN=.F.

IF EMPTY(pcPara)
pcPara = "[email protected]_correo.es"
ENDIF

IF EMPTY(pcAsunto)
pcAsunto = "<Asunto>"
ENDIF

IF EMPTY(pcCuerpo)
pcCuerpo = ""
ENDIF


IF EMPTY(paFichEnviar)
paFichEnviar = ""
ENDIF

IF EMPTY( plMostrarDialogo )
plMostrarDialogo = .T.
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

abraham
06 de Septiembre del 2003
mira no pude encontrar como desactivarlo por medio de visual fox, pero es un mecanismo de seguridad de outlook.

para desactivar este mecanismos debes de ir a:

menu herramientas, de ahi a opciones, de ahi a seguridad, y desactivar la opcion "Avisarme cuando otras aplicaciones intenten enviar un correo electronico"

y con esto ya no aparecera la confirmacion de correo.

para mandar una copia

debes de hacer

&&agregar otro destinatario
oform.message1.recipindex = 1 && se debe de ir incrementando a medida que incorporas mas destinatarios y espieza desde cero.
oform.message1.reciptype = 2 && para el tipo de recipiente 1.- es "para" y el 2.- para "cc"
oform.message1.recipdisplayname = "[email protected]"


espero y te sirva yo ya lo probe bajo windows xp y desaparecio tanto en mensaje de confirmacion y aparece "cc" en el ejemplo que hice.

un saludo

abraham
06 de Septiembre del 2003
es en outlook donde debes de desactivar la opcion..

disculpa se me paso...