jueves, 23 de julio de 2015

Como enviar un email en Grails usando mail plugin


Actualmente se hace requisito interactuar con el usuario de nuestra aplicación mediante el uso de correo electrónico, desde algo tan simple como enviarle un recordatorio hasta ofrecerle la posibilidad de recuperar su contraseña si por algún motivo la ha olvidado, es por eso que en las siguientes líneas mostraremos como enviar correos electrónicos desde nuestra aplicación grails con la ayuda de mail plugin. 

Instalando Mail Plugin

Para instalar mail plugin únicamente basta con agregar la siguiente línea en la sección plugins de nuestro BuildConfig.groovy

compile ":mail:1.0.7"





Configurando Mail Plugin

En este ejercicio realizaré la configuración para utilizar una cuenta de correo “Gmail” como remitente de los correos que enviará mi aplicación, para ello agregamos lo siguiente a nuestro Config.groovy

//confuguración del correo desde donde se enviarán los mensajes
grails {
    mail {
        host = "smtp.gmail.com"
        port = 587
        username = "tu.cuenta.correo@gmail.com"
        password = "tupassword"
        props = ["mail.smtp.auth":"true", "mail.smtp.starttls.enable":"true"
                 ]
    }
}


Enviando un mail desde un controller 

Mail plugin nos proporciona un servicio que podemos utilizar en cualquier controller, veamos un ejemplo:

class EnviaCorreoController {

    def mailService

    def index() {

        //se envia el correo de alta de nuevo usuario
        mailService.sendMail {
            to "algún.correo@gmail.com"
            from "tu.cuenta.correo@gmail.com"
            subject "Aquí va el asunto"
            html "Este es un correo de ejemplo"

        }
    }


Ahora solo ejecutamos nuestra aplicación y nos dirigimos a la ruta indicada que desatará el evento del envió del correo electrónico, ¿qué pasa? Nos ha marcado un error, ¿se parece a este?:



Eso es porque google implemento nuevos mecanismos de seguridad pero no se preocupen tiene solución, solo debemos seguir la url que nos muestra en el error y nos mostrará la configuración de nuestra cuenta:



Una vez logueados nos vamos al apartado Sing.in & security de ahí buscamos la opción que dice Allow less secure apps y la ponemos a “On”:



Una vez realizado el cambio volvemos a probar nuestra aplicación y ahora veremos que no sale más el error y si revisamos en la bandeja del correo destinatario veremos que tenemos un nuevo correo electrónico. 

Con esto concluimos este tutorial y dejamos para un siguiente algunas características avanzadas como por ejemplo incluir estilos al correo, adjuntar archivos y presentar imágenes en el cuerpo del correo, espero sus comentarios.


No hay comentarios:

Publicar un comentario