Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo utilizar los botones de comando de VB para enviar correos electrónicos?

¿Cómo utilizar los botones de comando de VB para enviar correos electrónicos?

Utilice VB para enviar y recibir correos electrónicos 1. Preparación Escribir un programa de correo electrónico en VB requiere llamar a MAPI (Interfaz de programación de aplicaciones de mensajería, interfaz de programación de aplicaciones de mensajes) de Microsoft, que requiere la ayuda de dos controles electrónicos. la función de envío y recepción de correo: control de sesión MAPI y control de mensajes MAPI. El control de sesión MAPI se usa para establecer y controlar una sesión de Microsoft Mail y el control de mensajes MAPI se usa para crear, enviar y recibir mensajes de correo. Además, el sistema Windows debe tener un sistema de correo compatible con MAPI, como Exchange, Outlook y otro software, y se deben realizar algunas configuraciones para garantizar que el sistema de correo se pueda utilizar normalmente. ¿Dónde puedo encontrar controles MAPI? Hay uno listo para usar en VB, pero el programa no se coloca directamente en la caja de herramientas. Necesitamos agregar el control MAPI a la caja de herramientas de VB nosotros mismos. Primero, haga clic con el botón derecho del mouse directamente en la barra de control en el lado izquierdo de VB y seleccione el comando "Componentes" en el menú emergente. En este momento, puede activar la ventana de configuración del componente y seleccionar "Microsoft MAPI". Controles" en el cuadro de lista "Controles" (como se muestra en la Figura 1), y luego presione el botón "Aceptar", encontrará que habrá dos íconos más en la caja de herramientas, que son los íconos del control de sesión MAPI. y control de mensajes MAPI (como se muestra en la Figura 2). 2. Programa de envío de correo electrónico Después de agregar los controles que necesitamos, comencemos a personalizar el programa de envío de correo electrónico. El proceso básico de este programa de envío de correo electrónico es redactar un correo electrónico basado en la información ingresada por el usuario y luego usar el método Enviar del control de mensajes MAPI para enviar el correo electrónico. El método específico es el siguiente: 1. Cree un nuevo proyecto VB y establezca la propiedad Título del formulario predeterminado Form1 en "Enviar correo". 2. Agregue un control de sesión MAPI MAPISession1 y un control de mensajes MAPI MAPIMessages1 a Form1. 3. Agregue tres controles TextBox a Form1, establezca sus propiedades de nombre en "txtSendTo", "txtSubject" y "txtMessage" respectivamente, y establezca la propiedad Multiline de txtMessage en "True". Estos tres controles TextBox se utilizarán para completar la dirección del destinatario, el asunto del correo electrónico y el cuerpo del correo electrónico, respectivamente. 4. Agregue tres controles Label a Form1, establezca sus propiedades Título en "Destinatario", "Asunto" y "Contenido" respectivamente y colóquelos en las ubicaciones apropiadas para etiquetar los controles TextBox correspondientes. 5. Agregue un control Botón de comando a Form1 y establezca su propiedad Título y propiedad Nombre en "Enviar" y "Enviar" respectivamente. Una vez agregados todos los controles, debería verse como en la Figura 3.

El siguiente es el contenido de la parte del código: 1. Agregue el siguiente código al evento Form_Load de Form1: Private Sub Form_Load() MAPISession1.SignOn / Después de ejecutar el programa, realice la operación de inicio de sesión por correo electrónico End Sub 2. Agregue el siguiente código al evento Form_Unload de Form1: Private Sub Form_Unload (Cancel As Integer) MAPISession1.SignOff /Salir de la operación del buzón al salir del programaEnd Sub 3. Agregue el siguiente código al evento Click de cmdSend: Private Sub cmdSend_Click() With MAPIMessages1 .MsgIndex = -1 .RecipDisplayName = txtSendTo.Text /Dirección del destinatario.MsgSubject = txtSubject.Text /Asunto del correo electrónico.MsgNoteText = txtMessage.Text /Email text.SessionID = MAPISession1.SessionID /El número de tareas establecidas entre el programa de envío y la herramienta de correo .Send End With MsgBox "¡Correo electrónico enviado!", "Enviar correo electrónico"/Enviar correctamente Mostrar cuadro de mensajeEnd Sub Esta parte de envío de correo electrónico se completa después de ejecutar el programa, simplemente complete el destinatario, el asunto y el contenido del correo electrónico, y. presione el botón de comando "Enviar" y el correo electrónico se enviará correctamente al destino (como se muestra en la Figura 4). 3. Programa de recepción de correo El programa de recepción de correo es más complicado que el programa de envío de correo. Este programa primero necesita usar 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. Control de mensajes MAPI. A continuación, verifique la propiedad MsgCount del control de mensajes MAPI para determinar la cantidad total de correos electrónicos leídos a través del método Fetch y luego especifique 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 específicos son los siguientes: 1. Cree un nuevo proyecto VB y establezca la propiedad Título del formulario predeterminado Form1 en "Recibir correo". 2. Agregue un control de sesión MAPI MAPISession1 y un control de mensajes MAPI MAPIMessages1 a Form1. 3. Agregue tres controles Label y un control TextBox a Form1, establezca las propiedades de nombre de los tres controles de etiqueta en "lblMsgDateReceived", "lblMsgOrigDisplayName" y "lblMsgSubject" respectivamente, y establezca la propiedad de nombre del control TextBox en "txtMsgNoteText". Y borre el contenido de la propiedad Título del control de etiqueta y la propiedad Texto 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. 4. Establezca la propiedad Bloqueada y la propiedad Multilínea del control txtMsgNoteText en "True" y establezca la propiedad ScrollBars en "2-Vertical". 5. Agregue cuatro controles Etiqueta más a Form1 para etiquetar los cuatro controles anteriores y establezca sus propiedades Título en "Fecha", "Remitente", "Asunto" y "Contenido" respectivamente. 6. Agregue un control Etiqueta a Form1, establezca su propiedad de 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.

7. 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" y "cierre". Después de agregar todos los controles, debería verse como en la Figura 5.

Xiao Mushroom: Entonces, ¿qué pasa con el código del programa específico? Tinker Bell: ¿Estás ansiosa otra vez? ¿Seguiría mintiéndote? El siguiente es el código de programa específico: 1. Escriba una subrutina FetchNewMail: Public Sub FetchNewMail() MAPIMessages1.FetchUnreadOnly = True El comando MAPIMessages1.Fetch /Fetch capturará el mensaje en el búfer de la memoria del sistema End Sub 2. Escriba una subrutina DisplayMessage : Public Sub DisplayMessage() lblMsgCount.Caption = "th" & Ltrim(Str(MAPIMessages1.MsgIndex + 1)) & "messages, total" & Ltrim(Str(MAPIMessages1.MsgCount)) & "messages" / by MsgCount conoce el número de letras y luego usa MsgIndex para establecer el contenido y el título de qué carta mirar lblMsgDateReceived.Caption = MAPIMessages1.MsgDateReceived / La fecha de recepción de la carta txtMsgNoteText.Text = MAPIMessages1.MsgNoteText / El contenido de la carta recibida lblMsgOrigDisplayName. Caption = MAPIMessages1.MsgOrigDisplayName /Nombre del correo electrónico de envío lblMsgSubject.Caption = MAPIMessages1.MsgSubject /Asunto del correo electrónico End Sub 3. Agregue el siguiente código al evento Form_Load de Form1: Private Sub Form_Load() MAPISession1.SignOn MAPIMessages1.SessionID = MAPISession1.SessionID FetchNewMail /Llamar a la subrutina Fetch DisplayMessage /Llamar a la subrutina DisPlayMessage End Sub 4. Agregue el siguiente código al evento Click de cmdPrevious: Private Sub cmdPrevious() If MAPIMessages1.MsgIndex > 0 Then MAPIMessages1.MsgIndex = MAPIMessages1.MsgIndex - 1 /Cuando se recibe más de 1 letra, pase el botón "Anterior" para ver la letra anterior DisplayMessage De lo contrario, finaliza con un pitido si finaliza Sub 5. Agregue el siguiente código al evento Click de cmdNext: Private Sub cmdNext_Click() If MAPIMessages1.MsgIndex < MAPIMessages1.MsgCount - 1 Luego MAPIMessages1.MsgIndex = MAPIMessages1. MsgIndex + 1 / Cuando reciba más de 1 letra, use el botón "Siguiente letra" para ver las siguientes letras DisplayMessage Else Beep End If End Sub 15. Agregue el siguiente código al evento Click de cmdClose: Sub privado cmdClose_Click() Descargarme Fin El programa Sub se muestra en la Figura 6 después de ejecutarlo.

Durante el proceso de carga del formulario, el código en el evento de carga del formulario leerá los correos electrónicos nuevos. Si hay un correo electrónico nuevo, se mostrará el primer correo electrónico nuevo. Si hay varios correos electrónicos nuevos, puede usar "anterior" y "Siguiente". Botón de comando para navegar hacia adelante y hacia atrás.

Material de referencia: /zl/vbmail.htm