Pa´ Baltasar

Rodrigo
20 de Octubre del 2003
Hola, queria saber si es sencillo mandar mail desde un form de vb, si es asi me podrias mandar el codigo o un ejemplo. De antemano.

Gracias ; )

Baltasar
20 de Octubre del 2003
Para enviar un email desde nuestra aplicación, hay que usar los controles MapiMessage y MapiSession.

Por supuesto que habrá muchas más soluciones, pero esta es, a mi entender, la más sencilla y transparente, ya que aunque se esté usando el outlook, éste no aparecerá en pantalla, no se abre ninguna sesión del mismo.

Para ponerte un ejemplo:

pon un control mapimessaje y otro mapisession en un form
luego añade un botón
y en ese botón pon el código siguiente:

MS1.SignOn
MM1.MsgIndex = -1
MM1.RecipDisplayName = "[email protected]"
MM1.MsgSubject = "seguro que te interesa"
MM1.MsgNoteText = "Probando esto de enviar emails, bla bla bla"
MM1.SessionID = MS1.SessionID
MM1.Send
MS1.logoff

Inculto Programador
20 de Octubre del 2003
Lo he hecho y me ocurre el siguiente error:

Error 'ERROR 32002' en tiempo de ejecución
Ocurrio un fallo no determinado

y al depurarlo se me queda en la linea de Send.

Cual puede ser mi metedura de pata.

Please Baltasar traeme un buen regalito jejeje

Baltasar
20 de Octubre del 2003
Pues no sé, tienes instalado el outlook ?

si no es así, no te vas a funcionar.

Inculto programador
20 de Octubre del 2003
Si si que lo tengo y es mas he econtrado otro codigo que es este, en definitiva igual que el tuyo:

MAPISession1.UserName = "" 'Nombre del remitente
MAPISession1.NewSession = True
MAPISession1.DownLoadMail = False ' o false si no deseas recibir
MAPISession1.SignOn
MAPIMessages1.SessionID = MAPISession1.SessionID

MAPIMessages1.MsgIndex = -1 ' nuevo mensaje
MAPIMessages1.RecipDisplayName = "" 'Nombre del desinatorio

MAPIMessages1.ResolveName ' esto comprueba que el destinatario exista en las direcciones
MAPIMessages1.MsgSubject = "texto del asunto" 'Texto del asunto
MAPIMessages1.MsgNoteText = "texto del mensaje" 'Texto del mensaje

' si deseas anexar algun archivo al mail:
MAPIMessages1.AttachmentIndex = 0 ' numero del anexo, 0,1,2,3....
MAPIMessages1.AttachmentName = "nombre_del_archivo_a_anexar" 'Nombre del archivo a anexar
MAPIMessages1.AttachmentPathName = "path_completo_del archivo_a_enviar" 'Path completo del archvio a enviar
MAPIMessages1.AttachmentPosition = 0 ' numero del anexo, 0,1,2,3...
MAPIMessages1.AttachmentType = 0 ' archivo de datos
' (puedes anexar varios archivos, incrementando el numero 0,1,2,3....)
' Y por fin, enviarlo:
MAPIMessages1.Send

' Cuando ya no tengas que enviar ningun mail más:
MAPISession1.SignOff

y si pongo recibir se ejecuta el la venta de Outook para chequear si hay mesajes nuevos pero luego me da el error antes comentado

Baltasar
20 de Octubre del 2003
Pues no sé donde puede estar el problema. Me imagino que el outlook te funciona, verdad?
Yo he hecho algunas comprobaciones, y no veo por donde estará el error. Lo siento.

Rodrigo
20 de Octubre del 2003
Quisiera saber si hay otro metodo sencillo para mandar correos sin utilizar los Mapi :D