Envío de emails en Net Core
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.
Es recomendable que la clase encargada del envío de mails se encuentre en una carpeta llamada Helpers.
Es necesario que se recoja en el constructor 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:
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»:
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.
En el ejemplo se podrá seleccionar que proveedor utilizar.
Al enviar el formulario se enviara un mensaje al usuario especificado.
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.