SMTP • Simple Mail Transfer Protocol o Protocolo para Transferencia Simple de Correo, es un protocolo de comunicación que permite el envío de correos electrónicos en internet. • Opera con una serie de comandos de textos que son enviados directo al servidor. Ahora bien, Microsoft nos proporciona en su Framework las clases nativas con las cuales podemos crear y enviar un correos electrónicos.
Mag. Gina Huertas Camacho
Enviar correo electrónico mediante SMTP en C#
1. Definir instancia de la clase MailMessage
2. Definir instancia de SMTP
Mag. Gina Huertas Camacho
Definir instancia de la clase MailMessage Debemos crear una instancia de la clase MailMessage y definirla con los siguientes atributos: To: Dirección de corre electrónico donde enviaremos el correo electrónico, podemos utilizar el metodo "add" para incluirlo. From: Dirección de correo electrónico desde donde se enviara el correo electrónico. Subject: Define el título del correo electrónico. Body: Define el cuerpo del correo electrónico. IsBodyHtml: Indica si el cuerpo del correo electrónico esta es formato HTML. Priority: Definir la prioridad del correo electrónico (esto es ignorado por casi todos los servidores de correo electrónico).
Mag. Gina Huertas Camacho
Definir instancia de SMTP Se definirá una instancia de la clase SmtpClient en la cual utilizaremos los siguientes atributos: Host: El servidor anfrition que enviara el correo electrónico. Port: El numero de puerto de salida del correo electrónico (por defecto es el puerto 25). EnableSsl: Indicador si esta habilitado el certificado SSL. UseDefaultCredentials: Indicador si se utilizaran los credenciales predeterminados. Credentials: Credenciales a utilizar para enviar el correo electrónico por medio del protocolo SMTP, este atributo recibe un objeto de la clase NetworkCredential. Ademas para este ejemplo crearemos una variable tipo string de nombre output donde mostraremos un mensaje al usuario final, el código se vera como el siguiente listado:
Mag. Gina Huertas Camacho
• Posteriormente se usara el metodo send(MailMessage mailMessage) para enviar el correo electrónico, este metodo recibe como parámetro un objeto de tipo MailMessage, y luego es necesario liberar todos los recursos utilizados por el objeto MailMessage y de esta forma liberar memoria. • Para finalizar se imprimirá el valor que contenga la variable output, en este ejemplo utilizaremos un bloque try-catch para ejecutar estas ultimas instrucciones y manejar si ocurre una excepción, el código quedaría de la siguiente manera.