¿Programa qué mande e-mail?

Hola, como puedo hacer un programa en visual basic 5, que mande un correo electrónico, en realidad es como un formulario, que pida nombre y edad y que me mande los datos por correo electrónico, por favor ayudame
Desde ya muchas gracias
1

1 Respuesta

183.950 pts.
Te paso las rutinas de mandar un correo electrónico.
Envío de e-mail desde VB:
1.- Adjuntar al proyecto los controles MAPI
(Ya sabes: Proyecto/Componentes y señalar Microsoft MAPI controls)
2.- En tu formulario, coloca los controles MAPISession y MAPIMessages
3.- Para enviar el mail:
MAPISession1.UserName = "nombre del remitente"
MAPISession1.NewSession = True
MAPISession1.DownLoadMail = True ' o false si no deseas recibir
MAPISession1.SignOn
MAPIMessages1.SessionID = MAPISession1.SessionID
MAPIMessages1.MsgIndex = -1 ' nuevo mensaje
MAPIMessages1.RecipDisplayName = "nombre del destinatario"
MAPIMessages1.ResolveName ' esto comprueba que el destinatario exista en las direcciones
MAPIMessages1.MsgSubject = "texto del asunto"
MAPIMessages1.MsgNoteText = "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"
MAPIMessages1.AttachmentPathName = "path_completo_del archivo_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 ningún mail más:
MAPISession1. SignOff
IMPORTANTE: Tu programa de mail debe ser cliente MAPI predeterminado:
En Outlook Express: Herramientas, Opciones, General y marcar la opción correspondiente.
Recepción de e-mail desde VB:
1.- Adjuntar al proyecto los controles MAPI
(ya sabes: Proyecto/Componentes y señalar Microsoft MAPI controls)
2.- En tu formulario, coloca los controles MAPISession y MAPIMessages
Para recibir el mail:
Dim nCanMsg As Integer
Dim cNomFic As String
Dim nX As Integer
Dim nY As Integer
MAPISession1.UserName = "nombre_del _destinatario"
MAPISession1.NewSession = True
MAPISession1.DownLoadMail = True
MAPISession1.SignOn
MAPIMessages1.SessionID = MAPISession1.SessionID
MAPIMessages1.FetchUnreadOnly = True ' Solo los no leidos
MAPIMessages1.FetchSorted = True ' ordenados segun llegada
MAPIMessages1. Fetch ' obtiene el conjunto de mensajes
nCanMsg = MAPIMessages1. MsgCount - 1
For nX = 0 To nCanMsg
MAPIMessages1.MsgIndex = nX
' Filtrado de los mensajes para seleccionar los deseados segun el asunto
If MAPIMessages1.MsgSubject = "asunto_deseado" Then
' Si te interesa el texto del mensaje, está en MAPIMessages1.MsgNoteText
' Por cada archivo anexado al mensaje, extraerlo y copiarlo donde queramos
For nY = 0 To MAPIMessages1.AttachmentCount - 1
MAPIMessages1.AttachmentIndex = nY
cNomFic = ExtraerNombreArchivo(MAPIMessages1.AttachmentName)
FileCopy MAPIMessages1.AttachmentPathName, "path_deseado" + "\" +cNomFic
Next
' borrado del mensaje (si queremos hacerlo)
MAPIMessages1.Delete (mapMessageDelete)
End If
Next
' Cerrar las sesion
MAPISession1.SignOff
' Esta funcion la necesitas para extraer el nombre del archivo:
Private Function ExtraerNombreArchivo(cArchivo As String) As String
' extrae el nombre de un archivo de una cadena con path completo
Dim nX As Integer
ExtraerNombreArchivo = ""
For nX = Len(cArchivo) To 1 Step -1
If Not Mid(cArchivo, nX, 1) = "\" Then
ExtraerNombreArchivo = Mid(cArchivo, nX, 1) + ExtraerNombreArchivo
Else
exit for 'salir del bucle, ya esta.
End If
Next
End Function
IMPORTANTE: Tu programa de mail debe ser cliente MAPI predeterminado:
En Outlook Express: Herramientas, Opciones, General y marcar la opción correspondiente.
Para cualquier duda, te recomiendo esta página:
http://guille.costasol.net
emm ya, si si, muchas gracias, pero una ultima pregunta disculpa la insistencia, ¿qué son los controles mapi? ¿Cómo los inserto? Por favor! Es lo ultimo que te pido
Igual muchísimas gracias por tu respuesta.
ahh ok ahora me ha quedado mucho más claro
Muchas gracias por tu respuesta
No hay ningún problema porque preguntes otra vez, para eso estamos.
Vete al menu proyecto y luego dale clic en componentes. Sale una pantalla (o con que pulses CTRL + T sale), luego busca Microsoft MAPI Controls y activa esa casilla. Luego dale clic en aceptar y listo. En el lado izq aparecerán los dos objetos MAPI (icono de sobres de correo) que necesitas para los mail. Pon en el formulario los dos controles MAPI para que te funcione ese código que te pase.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas