como mando un mail desde fox
tengo este codigo para mandar un mail desde fox 6.0 pero no envia nada el codigo es el siguente:
** Programa para env铆o de mails con archivos adjuntos
** PARAMETROS
** m.cPara.- Direcci贸n de correo del destinatario.
** m.cAsunto.- Asunto del mensaje
** m.cMensaje.- Texto del mensaje
** m.aArchivo.- Nombre del anexo con la ruta completa
** se puede pasar un arreglo
** m.lMostrar.- Si se muestra la ventana de correo
PARAMETER m.cPara, m.cAsunto, m.cMensaje, m.aArchivo, m.lMostrar
LOCAL m.oForm, m.xTemporal, m.nContador, m.nArchivos, m.cActual
m.cActual = SYS(5) + CURDIR() && El directorio determinad se mueve
IF TYPE( 'm.cPara' ) <> 'C'
m.cPara = "[email protected]"
ENDIF
IF TYPE( 'm.cAsunto' ) <> 'C'
m.cAsunto = "Asunto"
ENDIF
IF TYPE( 'm.cMensaje' ) <> 'C'
m.cMensaje = ""
ENDIF
IF !( TYPE( 'm.aArchivo' ) $ 'CA' )
m.aArchivo = ""
ENDIF
m.oForm = CREATEOBJECT("form")
WITH m.oForm
.ADDOBJECT( "Session1", "olecontrol", "MSMAPI.mapiSession" )
IF TYPE( '.Session1' ) <> 'O'
MESSAGEBOX( 'No se ha podido instanciar la aplicaci贸n de correo.', 64, 'Atenci贸n')
RELEASE m.oForm
RETURN .F.
ENDIF
.ADDOBJECT("Message1", "olecontrol", "MSMAPI.mapiMessages" )
IF TYPE( '.Message1' ) <> 'O'
MESSAGEBOX( 'No se ha podido instanciar la aplicaci贸n de correo.', 64, 'Atenci贸n')
RELEASE m.oForm
RETURN .F.
ENDIF
WITH .Session1
.LogonUI = .T.
*- Si no se pone la propiedad a .F. y en OUTLOOK est谩 puesto trabajar sin conexi贸n
*- se cuelga
.DownloadMail=.F.
.SignOn
ENDWITH
WITH .Message1
.sessionid = .PARENT.Session1.sessionid
.compose
.RecipDisplayName = m.cPara
.msgsubject = m.cAsunto
.msgnotetext = m.cMensaje
*- Si no es un array, lo crea
IF TYPE('m.aArchivo[1]') = 'U'
m.xTemporal = m.aArchivo
DIMENSION m.aArchivo(1)
m.aArchivo[1] = m.xTemporal
ENDIF
m.nArchivos = 1
FOR m.nContador = 1 TO ALEN( m.aArchivo, 1 )
*- Si existen los archivos
IF FILE( m.aArchivo[m.nArchivos] )
.AttachmentIndex = m.nArchivos - 1
.AttachmentPathName = m.aArchivo(m.nArchivos)
* .AttachmentPosition = m.nArchivos - 1
m.nArchivos = m.nArchivos + 1
ENDIF
ENDFOR
.SEND(m.lMostrar)
ENDWITH
.Session1.SignOff
ENDWITH
RELEASE m.oForm
SET DEFAULT TO (m.cActual)
** Programa para env铆o de mails con archivos adjuntos
** PARAMETROS
** m.cPara.- Direcci贸n de correo del destinatario.
** m.cAsunto.- Asunto del mensaje
** m.cMensaje.- Texto del mensaje
** m.aArchivo.- Nombre del anexo con la ruta completa
** se puede pasar un arreglo
** m.lMostrar.- Si se muestra la ventana de correo
PARAMETER m.cPara, m.cAsunto, m.cMensaje, m.aArchivo, m.lMostrar
LOCAL m.oForm, m.xTemporal, m.nContador, m.nArchivos, m.cActual
m.cActual = SYS(5) + CURDIR() && El directorio determinad se mueve
IF TYPE( 'm.cPara' ) <> 'C'
m.cPara = "[email protected]"
ENDIF
IF TYPE( 'm.cAsunto' ) <> 'C'
m.cAsunto = "Asunto"
ENDIF
IF TYPE( 'm.cMensaje' ) <> 'C'
m.cMensaje = ""
ENDIF
IF !( TYPE( 'm.aArchivo' ) $ 'CA' )
m.aArchivo = ""
ENDIF
m.oForm = CREATEOBJECT("form")
WITH m.oForm
.ADDOBJECT( "Session1", "olecontrol", "MSMAPI.mapiSession" )
IF TYPE( '.Session1' ) <> 'O'
MESSAGEBOX( 'No se ha podido instanciar la aplicaci贸n de correo.', 64, 'Atenci贸n')
RELEASE m.oForm
RETURN .F.
ENDIF
.ADDOBJECT("Message1", "olecontrol", "MSMAPI.mapiMessages" )
IF TYPE( '.Message1' ) <> 'O'
MESSAGEBOX( 'No se ha podido instanciar la aplicaci贸n de correo.', 64, 'Atenci贸n')
RELEASE m.oForm
RETURN .F.
ENDIF
WITH .Session1
.LogonUI = .T.
*- Si no se pone la propiedad a .F. y en OUTLOOK est谩 puesto trabajar sin conexi贸n
*- se cuelga
.DownloadMail=.F.
.SignOn
ENDWITH
WITH .Message1
.sessionid = .PARENT.Session1.sessionid
.compose
.RecipDisplayName = m.cPara
.msgsubject = m.cAsunto
.msgnotetext = m.cMensaje
*- Si no es un array, lo crea
IF TYPE('m.aArchivo[1]') = 'U'
m.xTemporal = m.aArchivo
DIMENSION m.aArchivo(1)
m.aArchivo[1] = m.xTemporal
ENDIF
m.nArchivos = 1
FOR m.nContador = 1 TO ALEN( m.aArchivo, 1 )
*- Si existen los archivos
IF FILE( m.aArchivo[m.nArchivos] )
.AttachmentIndex = m.nArchivos - 1
.AttachmentPathName = m.aArchivo(m.nArchivos)
* .AttachmentPosition = m.nArchivos - 1
m.nArchivos = m.nArchivos + 1
ENDIF
ENDFOR
.SEND(m.lMostrar)
ENDWITH
.Session1.SignOff
ENDWITH
RELEASE m.oForm
SET DEFAULT TO (m.cActual)
