Red de conocimiento informático - Problemas con los teléfonos móviles - [Puntuación alta] Solicite el código de recepción de correo electrónico de VB

[Puntuación alta] Solicite el código de recepción de correo electrónico de VB

Programa de recepción de correo

El programa de recepción de correo es un poco más complicado que el programa de envío de correo. Primero, debe utilizar el método Fetch del control de mensajes MAPI para leer el correo. Este proceso cargará todos los correos no leídos en la bandeja de entrada del usuario en el control de mensajes MAPI. Luego, verifique la propiedad MsgCount del control de mensajes MAPI para determinar la cantidad total de mensajes leídos mediante el método Fetch. A continuación, puede especificar qué correo electrónico debe procesarse configurando la propiedad MsgIndex del control de mensajes MAPI. Cabe señalar que el recuento de los valores del atributo MsgIndex comienza desde 0, es decir, el número de índice del primer correo electrónico es 0, el número de índice del segundo correo electrónico es 1, y así sucesivamente. Los pasos de programación son los siguientes:

1. Crear un nuevo proyecto VB.

2. Establezca la propiedad Título del formulario predeterminado Form1 en "Recibir correo".

3. Agregue el control MAPI a la caja de herramientas de VB.

4. Agregue un control de sesión MAPI MAPISession1 y un control de mensajes MAPI MAPIMessages1 a Form1.

5. Agregue tres controles de etiqueta y un control de cuadro de texto a Form1, establezca las propiedades de Nombre de los tres controles de etiqueta en lblMsgDateReceived, lblMsgOrigDisplayName y lblMsgSubject respectivamente, y establezca la propiedad Nombre del control de cuadro de texto en txtMsgNoteText y borre el contenido de la propiedad Caption del control de etiqueta y la propiedad Text del control de cuadro de texto. Estos cuatro controles se utilizarán para mostrar la fecha, el remitente, el asunto y el contenido del correo electrónico.

6. Establezca la propiedad Bloqueada y la propiedad Multilínea del control txtMsgNoteText en Verdadero y establezca la propiedad ScrollBars en 2 - Vertical.

7. Agregue cuatro controles de etiqueta más a Form1 para etiquetar los cuatro controles anteriores y establezca sus propiedades de Título en "Fecha", "Remitente", "Asunto" y "Contenido" respectivamente.

8. Agregue un control de etiqueta a Form1, establezca su propiedad Nombre en lblMsgCount y establezca su propiedad Título en "0.º correo electrónico, total 0 correos electrónicos". Este control se utiliza para mostrar la cantidad total de correos electrónicos recibidos y qué correo electrónico se está procesando actualmente.

9. Agregue tres controles de botón de comando a Form1, establezca sus propiedades de Nombre en cmdPrevious, cmdNext y cmdClose respectivamente, y establezca sus propiedades de Título en "Anterior", "Siguiente", "cierre".

10. Escriba una subrutina FetchNewMail a nivel de formulario:

Public Sub FetchNewMail()

MAPIMessages1.FetchUnreadOnly = True

MAPIMessages1. Fetch

End Sub

11. Escriba una subrutina DisplayMessage a nivel de formulario:

Public Sub DisplayMessage()

lblMsgCount.Caption = "th" amp; _

LTrim(Str(MAPIMessages1.MsgIndex 1)) amp; "mensajes, total" amp; _

LTrim(Str(MAPIMessages1 .MsgCount)) ; "correos"

lblMsgDateReceived.Caption = MAPIMessages1.MsgDateReceived

txtMsgNoteText.Text = MAPIMessages1.MsgNoteText

lblMsgOrigDisplayName.Caption = MAPIMessages1 .MsgOrigDisplayName

lblMsgSubject.Caption = MAPIMessages1.MsgSubject

End Sub

12 Agregue el siguiente código al evento Form_Load de Form1:

Private Sub Form_Load( )

MAPISession1.SignOn

MAPIMessages1.SessionID = MAPISession1.SessionID

FetchNewMail

DisplayMessage

End Sub

13. Agregue el siguiente código al evento Click de cmdPrevious:

Private Sub cmdPrevious_Click()

If MAPIMessages1.MsgIndex gt; >

MAPIMessages1.MsgIndex = MAPIMessages1.MsgIndex - 1

DisplayMessage

De lo contrario

Bip

Finalizar si

End If

p>

End Sub

14. Agregue el siguiente código al evento Click de cmdNext:

Private Sub cmdNext_Click( )

Si MAPIMessages1.MsgIndex lt; MAPIMessages1.MsgCount - 1 Entonces

MAPIMessages1.MsgIndex = MAPIMessages1.MsgIndex 1

DisplayMessage

De lo contrario

Bip

Finalizar si

End Sub

15.

El código agrega el evento Click de cmdClose:

Private Sub cmdClose_Click()

Descargarme

End Sub

Durante la carga del formulario proceso, el código en el evento Load del formulario leerá los nuevos correos electrónicos y, si hay nuevos correos electrónicos, mostrará el primer correo electrónico nuevo. Si hay varios mensajes nuevos, puede utilizar los botones de comando "Anterior" y "Siguiente" para hojearlos.

Recibir correo

Este ejemplo es para leer todos los correos no leídos en la bandeja de entrada del usuario. Si desea leer todos los correos en la bandeja de entrada, solo necesita ejecutar el método Fetch previamente. , la propiedad FetchUnreadOnly del control de mensajes MAPI se estableció en False. Se puede determinar si el correo electrónico recibido específico ha sido leído mediante el atributo MsgRead. Si el cuerpo o el archivo adjunto de un correo electrónico se ha visto antes, el correo electrónico se marcará automáticamente como leído. Sin embargo, simplemente explorar el asunto del correo electrónico no lo marcará como leído.

Adjuntos de correo

De manera similar a la forma en que maneja los correos electrónicos, MAPI también proporciona un contador y un índice para los archivos adjuntos de correo electrónico. Al procesar un correo electrónico recibido, puede determinar cuántos archivos adjuntos contiene el correo electrónico verificando la propiedad AttachmentCount y luego procesar cada archivo adjunto configurando la propiedad AttachmentIndex.

El rango de valores legales de AttachmentIndex es de 0 a AttachmentIndex-1. Después de configurar el valor del atributo AttachmentIndex, puede leer los siguientes atributos del archivo adjunto:

AttachmentName: cuando el archivo adjunto es un archivo, este atributo se utiliza para especificar el nombre del archivo. Cuando el archivo adjunto es un objeto OLE, esta propiedad se utiliza para especificar el tipo de objeto.

AttachmentPath: Este atributo se utiliza para especificar el nombre de ruta completo del archivo como archivo adjunto.

AttchmentPosition: Este atributo se utiliza para especificar la posición del archivo adjunto en el contenido del correo electrónico. Cuando el remitente muestra el contenido del mensaje, utilizará la información proporcionada por esta propiedad para colocar la bandera del archivo adjunto en la ubicación adecuada.

AttachmentType: Este atributo se utiliza para especificar el tipo de archivo adjunto. Su valor legal son tres valores enteros, los cuales están representados por las siguientes constantes en VB:

·mapData-El archivo adjunto. es un archivo de datos

·mapEOLE-El archivo adjunto es un objeto OLE incrustado

·mapSOLE-El archivo adjunto es un objeto OLE estático

Al enviar un correo electrónico, los atributos anteriores El método de uso es el mismo que cuando se recibe correo, excepto que la operación de lectura se cambia a una operación de escritura. Cabe mencionar que la propiedad AttachmentIndex se puede establecer en cualquier valor al enviar un correo electrónico. El atributo AttachmentCount se establecerá automáticamente en el valor correcto sin configuración manual.

Resumen

Al analizar los códigos de los dos programas anteriores, el proceso básico del programa VB con la función de enviar y recibir correos electrónicos se puede resumir de la siguiente manera:

1. Uso El control de sesión MAPI establece una sesión de correo.

2. Utilice el control de mensajes MAPI para procesar correos electrónicos.

3. Utilice nuevamente el control de sesión MAPI para liberar la sesión de correo electrónico.

Dado que los dos programas VB anteriores son solo ejemplos simples, se han omitido algunos detalles que no están estrechamente relacionados con el tema de este artículo, como el manejo de errores. Al escribir programas de utilidad, debería considerar agregar estos detalles para garantizar la confiabilidad del programa.