El uso de los emails esta muy extendido y cualquier aplicación web que permita a registrarse debe tener un servidor de correo.

Para poder enviar emails desde aplicaciones Net Core es necesario disponer de una clase destinada únicamente al envío de emails y que tenga una inyección de dependencias desde Startup.cs.

Post1
Clase startup.cs con inyección de dependencias

Es recomendable que la clase encargada del envío de mails se encuentre en una carpeta llamada Helpers.

Post2
Árbol de directorio del proyecto con MailService.cs

Es necesario que se recoja en el constructor el IConfiguration indicado en Startup.cs

Post3
Constructor con el IConfiguration indicado en Startup.cs

Antes de crear el código para que se pueda realizar el envío de correos, es necesario añadir la configuración de la cuenta de envío en el fichero «appsettings.json» de la siguiente manera:

Post4
Configuración de AppSettings.json

Los nombres asignados debajo de «AllowedHosts» son nombres de variables y puede asignarse cualquier nombre. En este ejemplo se van a utilizar como proveedores de servicio Gmail y Outlook pero se podría realizar con cualquier proveedor indicando el host y puerto correspondiente.

Una vez que se ha añadido la información de la cuenta desde la que se enviaran los correos, se puede añadir la funcionalidad a la clase «MailService.cs»:

Post5
MailService.cs para el envío de correos con Gmail
Post5b
MailService.cs para el envío de correos con OutLook

Como se puede observar, la configuración para ambos proveedores es idéntica y solo cambiaria la propiedad «Host» y «Port», siendo cada uno el que indique el proveedor de correo.

Ahora se creara una vista con su controlador con un formulario que permita introducir la cuenta a la que se desea enviar el correo, el asunto y el mensaje.

Post7
Controlador para el envio de emails

En el ejemplo se podrá seleccionar que proveedor utilizar.

Post8
Formulario para enviar correos mediante Gmail
Post10
Envío de correos a través de outlook

Al enviar el formulario se enviara un mensaje al usuario especificado.

Post9
Correo recibido en Gmail
Post11
Correo recibido en OutLook

Autor/a: Mario Canales

Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma

Centro: Tajamar

Año académico: 2020-2021

Código: El código de la aplicación se encuentra disponible en GitHub.

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.