| Usuario |
Recibir E-mails |
Desconocido
|
| Enviado - 22/11/2002 |
| |
Quiero preguntar como le hago para poder hacer que se puedan recibir email, quiero saber que herramienta de vb.net utiliso?
gracias de antemano |
| |
|
Desconocido
|
| Enviado - 11/2/2003 |
| |
ESTO ES CON VB 6
Envio 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 ningun mail más:
MAPISession1.SignOff
IMPORTANTE: Tu programa de mail debe ser cliente MAPI predeterminado:
en Outlook Express: Herramientas,Opciones,General y marcar la opcion correspondiente.
Salvo error mio al transcribirlo, esto funciona. Suerte!
Mi agradecimiento a los colegas de las news que me orientaron en este tema cuando no tenía ni idea.
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
3.- 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 opcion correspondiente.
Salvo error mio al transcribirlo, esto funciona. Suerte!
Mi agradecimiento a los colegas de las news que me orientaron en este tema cuando no tenía ni idea.
Creo que con esto y muy poco por tu parte, tienes resuelto el tema de recibir mail.
Se agradecen comentarios (incluso criticas) que ayuden a mejorarlo. Tambien me encantaría saber
si mi esfuerzo te ha sido de utilidad, no me gustaría estar haciendo esto para nada. Gracias.
|
| |
|
|
|