Enviar un correo a través de visual fox(UrgentexFavor)

Hola buenas tardes, espero que me puedas ayudar mi situación es la siguiente:tengo una aplicación en visual fox pro 6.0 que registra reclamos o solicitudes.
Que quiero al yo guardar el reclamo que estoy registrando enseguida envíe un correo al usuario de cual es su numero de caso y la falla que reporto.
El formulario donde registro se alimenta de tres tablas la información que se necesita para enviar el correo va estar en la pantalla en una caja de texto el nombre de correo del trabajador y en otra el nombre del correo que se lo envía ya que he creado un nombre de cuenta para el sistema que se llama apoyoususario quisiera que cuando yo se lo envíe al usuario a parezca de: apoyo usuario.
Por favor si tienes la solución y quieres enviarme un ejemplo este es mi correo [email protected].
Muchas gracias de antemano se que estas ocupado porque tienes mucho trabajo pero por favor ayudame urgente que no se que hacer si.

1 respuesta

Respuesta
1
Pues te voy a mandar un ejemplo. Sólo que para funcionar, debes tener instalado y configurado el Outlook.
Tendrás que modificar el "UserName" y el "Password" en el botón "Enviar".
Ok voy a probarlo corazón
Hola corazón mi primera pregunta es en el user name coloco el nombre de mi correo y la contraseña del mismo y si yo no le tuviese contraseña.
Otra Cosa en el asunto yo necesito colocar un numero de reclamo que también esta contenido en otra caja de texto. Y en el cuerpo como lo hago
intentente tal cual como le mandaste para ver si enviaba el correo y me salio el siguiente error:
Codigo de expecion OLE IDispatch 0 de MapIMessages: Ocurrio un fallo no determinado
luego que le di supender
estaba el erroe en la palabra ".Send"
Si tu correo no tiene contraseña, solo deja el "Password" en "blanco".
No entiendo muy bien tu segunda pregunta..
Esta raro, si dices que no le moviste nada. ¿Cómo configuraste tu Correo y tu Contraseña?
No corazón no moví nada solo coloque mi correo en donde dice user name y password lo deje en blanco porque no tengo contraseña para entrar a mi correo de outlook.
Y mi correo es configurado primero botón derecho en el outlook, creo un perfil elijo el servidor coloco el nombre del servidor de correo verrifico que mi nombre exista en la lista de direcciones y finalizar allí puedo ver toda mi información que pasara
Corazón necesito una ayuda ahora me sale el error es cuando le digo que no lo envíe cuando le digo que si si lo envía.
Ahora como puedo yo a nivel de programación escribir un mensaje y que también muestre la información de la cahja de texto me explico yo tengo el num de reclamo en una caja de texto eso va ir en el asunto.
Ejemplo
m.asunto= "Su solicitud es la numero:"+ thisform.nreclamo.value
Lo coloque así y no funciono es decir texto más la información de la caja de texto lo pongo cada uno por separado y si funciona.
Que hago
Te explico como quiero que se vea en la parte del mensaje siempre va ser el mismo mebrete por eso lo quiero proramar internamente pero lo que va cambiar es el nombre de la falla nombre del Usuario y numero de Reclamo. Va decir así
Gracias por Llamar Sr(A) thisform. Nombre.value:
Gracias por Comunicarse con nosotros;
Le Informamos que su numero de solicitud con descripción "thisform.combo1.value" ha sido registrado con el num. thisform.nreclamo.value:
Como ves son tres cajas de texto al yo ponerlas solas se envía fino pero necesito que este predeterminado en la programación este formato como hago para combinar el texto con el contenido de la caja de texto.
Ha y para que se me vea cada cosa en su linea y disculpa la molestia de antemano gracias tu trabajo es muy bueno.
file:///C:/DOCUME~1/Nuevo/CONFIG~1/Temp/moz-screenshot.jpgPienso que el problema puede ser el tipo de dato del texto "nReclamo", si es numérico, debes convertirlo primero a carácter para poder sumarlo a otra cadena, y si no, prueba usando la función [ALLTRIM()] para quitar los espacios en blanco.
Esto es parte del código del ejemplo que te mandé:
** Se configura el Mensaje
WITH oMsjes
        .SessionId = oSesion.SessionId
        .Compose()
        .RecipAddress = ALLTRIM(ThisForm.txtPara.Value)         && Correo al que se desea mandar
        .MsgSubject = "Su Solicitud es la Número: " + LTRIM(STR(ThisForm.nReclamo.Value))  && Si es numérico
        .MsgSubject = "Su Solicitud es la Número: " + ALLTRIM(ThisForm.nReclamo.Value)     && Si es caracter
        .MsgNoteText = ;
                "Gracias por llamar Sr(a). " + ALLTRIM(ThisForm.Nombre.Value) + ": " + ;
                "Gracias por comunicarse con nosotros..." && Cuerpo del Menaje
        .Send()
Endwith
Corazón me funciono pero mira dura mucho después que le digo que si para que el sistema se restablezca.
Ah una cosa el correo que tengo configurado ya yo le puse un fondo el muñequito del sistema de cosa que cuando lo envíe desde el sistema salga así`pero no lo hace sale en blanco porque corazón no se cominica con esa configuración se podría comunicar
corazon ahora    no me actualiza la informacion te  voy a escribir el codigo tal como lo hice por que el tuyo me daba error raro que te dije este funciona muy bien envia pero se quedan las varibles con la primera informacion que toman al registrar el primer caso es decir la primera direccion de correo el primer numero de caso y el primer nombre es decir todo lo que el correo obtiene de las cajas de texto atrevas de las variables no se limpia. ah yo meti toda esta intruccion en mi bton guardar de ese fomulario despues que guardo el registro. que hago espero puedas ayudarmme *********************************************************
** Programa para envío de mails con archivos adjuntos
** variables
** m.cPara.- Dirección de correo del destinatario.
** m.cAsunto.- Asunto del mensaje
** m.cMensaje.- Texto del mensaje
** m.cArchivo.- Nombre del anexo con la ruta completa
** se puede pasar un arreglo
** m.lMostrar.-
*En la variable "m.cpara" debes poner el la direccion de correo del destinatario
*En la variable "m.casunto" debes poner el Asunto del mensaje (si lo deseas)
*En la variable "m.cmensaje" debes poner el texto del mensaje (si lo deseas)
*en la variable "m.carchivo" debes poner el nombre del archivo escaneado
PUBLIC m.cPara, m.cAsunto, m.cMensaje, m.cArchivo, 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'
m.cMensaje = "Estimado Sr(a): "+ALLTRIM(ThisForm.nombr.Value)+". "+;
"Gracias por Comunicarse con Nosotros. "+;
"Le Informamos que su solicitud con descripción: (" + alltrim(thisform.combo6.value) + ") Ha sido Registrada con el Nro: " + LTRIM(STR(ThisForm.nreclamo.Value))
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
Ya logre que actualice los datos corezon ahora una ultima cosa lo que te dije que tome el formato que tiene mi correo con es muñequito su fondo como lo hago
ah y que pueda escribir cada cosa que yo quiera en una linea te explico lo que me enseñaste hacer de combinar mensaje y texto me funciono pero quiero cada párrafo se vea como yo quiero y sale todo pegado aunque en programación lo escriba en cada linea
lo quiero así
estimado Sra maría -en una linea y luego la próxima linea en blanco
gracias por preferirnos_y luego la próxima linea en blanco
le informamos su numero de caso_ no se si me explico que tenga esas separaciones se podrá
Mm, pues eso del "muñequito de fondo" si no se bien como lo podrías hacer, igual ya que tenga más chance, lo checaré. Por lo pronto te explico lo demás.
Para insertar saltos de línea es simple puedes usar algo como lo siguiente:
#DEFINE cSL CHR(13) + CHR(10)
cMensaje = "Estimado Sr(a) ..." + cSL + "Gracias por preferirnos ..." + cSL + cSL + "Le informamos ..."
Me da error de sintaxis corazón que estaré haciendo mal.
La linea del define donde se coloca
¿Qué error te manda?
¿En qué parte te manda el error?
Si no funciona, intenta usándolo como una variable normal:
cSL = CHR(13) + CHR(10)
cMensaje = "Estimado Sr(a) ..." + cSL + "Gracias por preferirnos ..." + cSL + cSL + "Le informamos ..."
Gracias corazón ahora si no dio el error y funciono perfectamente de verdad he aprendido mucho contigo muchas gracias.
Mira ahora tengo una pregunta se le puede dar una letra especifica a lo que yo quiero enviar, y si se puede centrar la información de una linea y colocarla en negritas. Ademas colocarle color a la letra.
Ah y lo del logo que me dijiste que era difícil pero te juro que si aprendiera eso el correo quedaría de maravilla. De verdad muchas gracias de corazón.
Mm, pues eso si no lo he checado, la verdad, hasta ahora, no se como se hace. Lamentablemente yo no cuento con mucho tiempo para investigar al respecto. Ya que tenga algo de chance voy a tratar de checarlo. Te informaré..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas