e-mail desde vfp
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 = "direccion@de_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
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 = "direccion@de_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
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
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
