Enviar emails con Power Automate
Hola, soy Álvaro Moya Herraiz, alumno del máster de Desarrollo Web Full Stack, MultiCloud y Multiplataforma y voy a enseñaros a como enviar correos con Power Automate.
Imaginemos que tenemos una aplicación en Azure la cual queremos que mande un correo cuando se registre un usuario, se realice una compra, etc. Para poder hacer esto, es necesario crear un flujo en Power Automate.
Para hacer esto, primero nos dirigimos a la página de Power Automate. Una vez dentro iniciamos sesión y despues clicamos en «Crear». Acto seguido, seleccionamos la opción «Flujo de nube instantánea».
Una vez seleccionada, se nos abrirá un menú donde deberemos nombrar nuestro flujo y su desencadenante. Dicho desencadenante será «Cuando se recibe una solicitud HTTP» (Suele ser la última de la lista).
Una vez hayamos hecho esto último, en nuestra pantalla debería aparecer algo como esto.
Ahora deberemos clicar en el desencadenante y se nos debería abrir una pestaña como la siguiente
El esquema JSON os aparecería vacío, a mi me aparece lleno porque he cogido un ejemplo que ya tenía terminado. Para hacer que aparezca como en la foto deberemos clicar en «Usar una carga de ejemplo para generar el esquema». Se nos abrirá una ventana como la siguiente:
Aquí deberemos escribir un JSON con los parámetros necesarios para mandar el correo (email, asunto y mensaje). Debería quedar algo como esto:
Clicamos en Listo y se nos creará el esquema JSON mencionado anteriormente de forma automática.
El siguiente paso sería clicar en el botón «Nuevo paso». Una vez hecho esto, ponemos en la barra de búsqueda el término «Outlook», y seleccionamos la opción «Enviar correo electrónico (V2)».
Se nos creará una ventana donde podremos poner el email del destinatario, el asunto y el mensaje. Si clicamos en el campo «A» veremos que aparece una opción donde pone «Agregar contenido dinámico». Veremos que aparece un desplegable, y dentro de él, la variable email, que se corresponde al campo del JSON generado anteriormente. Clicamos en ella y la añadimos.
En asunto y en mensaje nos pasará exactamente lo mismo.
Y con esto último ya estaría configurado el flujo. Ahora, el siguiente paso será configurar todo en el MVC.
Una vez en el MVC, creamos dentro de la carpeta models el modelo «Correo» que tendrá los siguientes campos:
El siguiente paso sería hacer el método que llama al flujo dentro del service. El método sería el siguiente:
La url que se incluye dentro de urlMail la podremos obtener del flujo. Volvemos a nuestro flujo en Power Automate y en el desencadenante veremos que aparece una url. La copiamos y la pegamos en nuestro proyecto.
Lo siguiente será crear la llamada al service en el controller.
Como podemos ver, mediante un formulario mandamos los campos email, asunto y mensaje al controller, y con ellos creamos un objeto correo el cual lo pasaremos al método del service. Yo además he añadido un ViewData para que me avise cuando se ha enviado el correo.
El último paso será crear el formulario en la vista index.
Una vez hecho todo esto, lo ejecutamos y probamos que funciona.
Pues como podemos ver todo funciona a la perfección
Espero que este post te haya ayudado y haya resuelto todas tus dudas.
En el enlace a mi Git encontrarás el proyecto completo.
Un saludo.
Autor: Álvaro Moya Herraiz
Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma
Centro: Tajamar
Año académico: 2021-2022
Enlace a Github: https://github.com/alvaroyako/PostAzure/tree/master/PostAzure