No consigo enviar mail con MAPI y VB6.0

vialvi
25 de Diciembre del 2005
He probado todos los codigos de este foro.
He rebuscado por internet y aqui os detallo una página que está muy detallada pero ni siguiendo estos pasos me va.
Ya me da error en la primera linea: Me.MPSesion.UserName = "Microsoft Outlook"
.......................................................................
Quiero enviar el correo a la carpeta de salida del microsoft outlook.
...........................................................................
¿Me faltará cargar algo, referencias, componentes..??
...........................
Artículo sacado de esta página:
http://www.macroheavy.com/vb/menucurso.html
Mandar un e-mail

--------------------------------------------------------------------------------
Título: Mandar un e-mail
Autor: José Antonio Suárez Navarro
Descripción: En este artículo se muestra como mandar un e-mail en Visual Basic 6.0
Fecha: [20/06/02]

--------------------------------------------------------------------------------

Introducción
Muchas veces es importante el saber mandar emails sin tener que recurrir a OutLook
o cualquier otro editor de correo electrónico. Visual Basic 6.0 nos permite realizarlo
fácilmente. En este artículo se muestra con realizar este cometido para poder
adicionar esta funcionalidad a nuestras aplicaciones.

Lo que debemos hacer para mandar un email con VB 6.0 es en primer lugar insertar dos
objetos nuevos, que están dentro de Microsoft MAPI Controls. Esta componente se divide
en MAPISession y MAPIMessage. En la figura que se muestra a continuación se muestra u
formulario con estos dos objetos:

Lo primero que debemos hacer siempre es crear una sesión. Para ello debemos de utilizar
el MAPISession. En nuestro ejemplo lo hemos utilizado en el evento Form_Load del formulario,
veamos el código:

Private Sub Form_Load()
Me.MPSesion.UserName = "Microsoft Outlook"
Me.MPSesion.NewSession = True
Me.MPSesion.SignOn
End Sub
En primer lugar decimos cual es el Usuario, y en mi caso es el Microsoft Outlook, como
sospecho que será el tuyo ya que todos solemos tenerlo en nuestro sistema operativo.
Una vez que hemos definido nuestro usuario le indicamos que empezamos una nueva sesión
aunque exista actualmente otra sesión. Finalmente conectamos a nuestro usuario con la sesión
establecida. Ahora vamos a ver el botón más importante que es el enviar.
El código es el siguiente:

Private Sub cmdSend_Click()
With Me.MPMensaje
.MsgIndex = -1
.RecipDisplayName = Me.txtSentTo
.MsgSubject = Me.txtSubject
.MsgNoteText = Me.txtMessage
.SessionID = Me.MPSesion.SessionID
.Send
End With
MsgBox "Mensaje enviado"
End Sub


Lo que hemos hecho es crear un mensaje con sus propiedades. Lo primero que hemos hecho es
decirle al MAPI que vamos a crear un mensaje para enviar (un mensaje de salida),
le decimos cual es el destinatario, que es el valor de la caja de texto txtSentTo,
el asunto y el cuerpo del mensaje. Una vez puestas estas características hemos de asignarle
una sesión y por supuesto, lo que hacemos es establecerle la anterior.
Una vez hemos puesto todas las caraterísticas lo enviamos mediante el método Send.
Al final del envío del correo saldrá un mensaje que informará que el mensaje ha sido enviado.

Finalmente al cerrar el formulario debemos de cerrar la sesión, para ello se escribe el
siguiente código en el evento de descarga del formulario:

Private Sub form_unload(cancel As Integer)
Me.MPSesion.SignOff
End Sub



jiwwmago
25 de Diciembre del 2005

ese codigo no funciona
por que a mi me sale un error de compilacion
por favor incluye detalles

Javi
25 de Diciembre del 2005
Te lo mando por email

vialvi
25 de Diciembre del 2005
No me ha funcionado me da error de version.Gracias de todas formas.