Envió de Correo Electrónico.


Envió de Correo Electrónico.


En esta ocasión vamos a desarrollar una pequeña aplicación para enviar correo electrónico, para ello será necesario tener en consideración algunas cuestiones técnicas, por ejemplo, el servidor SMTP por el cual enviaremos dicho mensaje, así como tener una cuenta válida para poder autenticarnos en el servidor de SMTP.


Vamos a iniciar por diseñar la interfaz de nuestra aplicación, la cual para este ejemplo es muy sencilla, solo constará de los siguientes campos:


Una vez diseñada la interfaz, nos dirigimos a la página de código asociado al diseño, para ello damos doble clic sobre el botón Enviar y se nos mostrara el cascaron de la clase de dicho botón, seguidamente nos situamos al inicio de la página de código y agregamos los siguientes espacios de nombres o using:

using System.Net.Mail;
using System.Security;

Seguidamente, nos dirigimos al evento del botón enviar y colocamos el siguiente código:

try
        {
            //Objeto mensaje, el cual será enviado al cliente o usuario
            MailMessage message;

            //Servidor SMTP que enviará el mensaje, requiere dos parametros o argumentos:
            //string host:Especificar el nombre del servidor SMTP
            //int port: Puerto de conexion del servidor SMTP

            //algunos host: smtp.gmail.com:465 
            //              smtp.live.com:25
            SmtpClient client = new SmtpClient("Servidor SMTP""Puerto");

            //Credenciales o datos de la cuenta de donde se enviará el correo o mensaje
            //UserName: Nombre de usuario con acceso al servidor SMTP
            //Password: Contraseña de acceso al servidor SMTP
            System.Net.NetworkCredential myCache = new System.Net.NetworkCredential("UserName", "Password");
            //Se asignan los datos de acceso o credenciales de autenticación al servidor smtp que enviará el mensaje
            client.Credentials = myCache;

            //Se especifica el contenido del mensaje o cuerpo del mensaje.
            //Se especifica QUIEN ENVIA EL MENSAJE (from) y PARA QUIEN ES EL MENSAJE (to)
            message = new MailMessage("UserName", txtTo.Text);
            //Se indica a quien se le envía una copia del mensaje OPCIONAL
            //addresses: Direccion del usuario
            //message.Bcc.Add("addresses");

            //SE INDICA EL CUERPO DEL MENSAJE
            message.Body = txtMessage.Text;
            //Indicamos si el cuerpo del mensaje esta en formato HTML
            message.IsBodyHtml = true;
            //Indicamos el asunto del mensaje
            message.Subject = txtSubject.Text;

            try
            {
                //Se envía el mensaje a traves del cliente de SMTP configurado previamente
                client.Send(message);
                //Se liberán todos los recursos usados por el cleinte de smtp
                message.Dispose();

                //Se infroma al usuario que el mensaje o correo electronico fue enviado exitosamente
                lblMensaje.Text = "Mensaje Enviado Exitosamente!!!";
            }
            catch (Exception Exd)
            {
                //Se muestra al usuario un mensaje de error, en caso de que se produzca al momento de enviar el mensaje.
                lblMensaje.Text = Exd.ToString();
            }
        }
        catch (Exception Exd)
        {
            //Se muestra al usuario un mensaje de error, en caso de que se produzca al momento de enviar el mensaje.
            lblMensaje.Text = Exd.Message;
        }

Si todo ha sido correctamente programado, la aplicación debería funcionar correctamente, tal como se muestra a continuación:



Recepción del mensaje en el cliente:






Comentarios

Entradas más populares de este blog

GridView Editable en ASP.Net y C#

Generando Código QR en ASP.net y C# Paso a Paso.