Problemas para enviar correo vía outlook

Tengo un problema el programa funciona perfectamente para enviar pero cuando le digo que no lo envíe me da un error.
Sabes que por ti mismo conseguí esta instrucción y que esta muestra una pantalla antes de enviarla que te dice desea enviar si o no cuando le digo que si funciona perfecto. Pero cuando le digo que no porque el usuario no posee correo o algo me bota un error. Que dice:
Codigo de excepcion ole Idispatch 0 de MAPIMessages: Not supported.
Yo le doy suspender para ver donde produce el error en el código
Y se para exactamente en esta linea= .send(m.lmostrar)
Te copio a continuación todo el código completo que utilizo:
public csl
PUBLIC m.lMostrar
LOCAL m.oForm, m.xTemporal,m.nContador, m.nArchivos, m.cActual
m.cActual = SYS(5) + CURDIR()
IF TYPE( 'm.cPara' ) <> 'C'
m.cPara=ALLTRIM(ThisForm.text10.Value)
ENDIF
IF TYPE( 'm.cAsunto' ) <> 'C'
m.cAsunto = "Notificacion de Solicitud de Servicio, Nro: "+LTRIM(STR(ThisForm.nreclamo.Value))+"."
ENDIF
IF TYPE( 'm.cMensaje' ) <> 'C'
csl=CHR(13)+CHR(10)
m.cMensaje ="Estimado Sr(a):"+ALLTRIM(ThisForm.nombr.Value)+"."+csl+csl+;
"Gracias por Comunicarse con Nosotros."+csl+csl+;
"Le Informamos que su solicitud con descripcion:("+alltrim(thisform.combo6.value)+"),Ha sido Registrada con el Nro: "+LTRIM(STR(ThisForm.nreclamo.Value))+"."+csl+csl+csl+;
"Realice su Solicitud, Consulte y haga Seguimiento, a traves de Nuestro Correo de Servicio(Apoyo al Usuario Region 4), o de la Ext.3333."+csl+csl+csl+;
"Atentamente;"+csl+;
"Apoyo al Usuario (3333)."+csl+;
"Cadafe Region 4"+csl+;
"Gerencia de ATIT"+csl+csl+;
"TRABAJAMOS PARA OFRECERTE UN MEJOR SERVICIO."
ENDIF
IF TYPE( 'm.cArchivo' ) <> 'C'
m.cArchivo = ""
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
. SEND(m. LMostrar)
Endwith
. Session1. SignOff
Endwith
RELEASE m.oForm
SET DEFAULT TO (m.cActual)
return

1 Respuesta

Respuesta
1
Pero no entiendo, ¿en qué parte del código haces la pregunta?
Eso es lo que ni yo misma entiendo porque es una ventana que aparece con titulo microsoft outlook sera la seguridad del outlook que la hace lo cierto que cuando le doy que si no falla y cuando le doy que no ya sabes.
Que hago
ADDOBJECT("Message1", "olecontrol", "MSMAPI.mapiMessages" )
Sera en este objeto que esta contenido el mensaje
Mm, pues que raro, yo probé usando exactamente el mismo código que tu escribes, a diferencia de los "ThisForm...", y no mandó ningún error cuando le ponía No Enviar.
¿Qué versión de Fox estas usando?
¿Qué versión de Outlook estas usando?
En qué Procedimiento, Función, ¿Método o Evento tienes ese código?
Igual puedes intentar usando el Método [Send()] sin argumentos o con un Cero:
WITH .Message1
        ...
        .Send() && o .Send(0)
Endwith
Hola estoy usando fox 7 y la version del outlook es la que trae el office 2003 y lo estoy utilizando en la opción clic de un botón guardar de un formulario de reclamo
Por favor tendrías una página donde yo te pase la aplicación completa y así me puedas asesorar en varias cosas que me faltan
¿Una página? Pues igual mándalo a esta dirección de Correo: [email protected] y cuando tenga algo de chance con gusto te ayudaré..
También cuando tenga algo de chance voy a tratar de hacer pruebas con los datos que me proporcionaste..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas