Envio de e-mails com o Mail Plugin
Enviar e-mails a partir de uma aplicação Grails é extremamente fácil. Tudo graças ao Mail Plugin. Sou um grande fã do mecanismo de plugins do Grails não só pela facilidade de criá-los, mas principalmente pelo espírito de compartilhamento de código que isto gera nos desenvolvedores. É bem simples, por exemplo, se eu preciso de alguma coisa que envie e-mails, vou construir isto separado da minha aplicação e distribuir para todos que precisem. Fácil, muito fácil!
Enfim, o Mail Plugin é um dos plugins mais antigos do Grails (acho que usei pela primeira vez em agosto de 2008), e um dos mais simples de ser usado. O primeiro passo é instalar o plugin como qualquer outro:
grails install-plugin mail
Com isso as dependências serão baixadas e o plugin será instalado.
Após isso, você vai precisar configurar o envio de e-mail.
De forma bem intuitiva novamente, diretamente em seu Config.groovy deverá setar as propriedades:
grails {
mail {
host = "smtp.meuservidor.com.br"
port = 25
username = "usuario@provedor.com.br"
password = "eusoul33t"
props = ["mail.smtp.auth": "true", "mail.smtp.socketFactory.port": "587"]
}
}
Ahhh, o exemplo acima já está pronto para usar validação de usuário e senha no envio, já que hoje (99%) dos servidores assim exigem. Pronto, com isso o plugin já consegue saber como o e-mail será enviado (por trás ele usa o envio de e-mails embutido no Spring, é claro).
Agora, quando for enviar um e-mail, basta usar a closure sendMail que é automaticamente adicionada em todos os seus controllers! Segue um exemplo:
sendMail {
from "lucas@testedoblog.com.br"
to "dest1@email.com", "dest2@email.com"
cc "copia@email.com"
bcc "oculto@email.com"
subject "Enviando e-mails com Grails"
body """
E ai pessoal,
Este e-mail foi enviado diretamente de um controller da minha
aplicação Grails usando o Mail Plugin.
Até mais."""
}
Pronto, agora é só checar as caixas de e-mail! Vale lembrar que as instruções cc e bcc não são obrigatórias!
O plugin suporta envio de anexos, conteúdo HTML e outras opções. Para mais detalhes, consulte a documentação oficial, ou deixe um comentário aqui.
Ahh, e se quiser usar uma caixa do GMail para enviar as mensagens, use a configuração abaixo.
grails {
mail {
host = "smtp.gmail.com"
port = 465
username = "seulogingmail@gmail.com"
password = "suasenhadogmail"
props = ["mail.smtp.auth": "true",
"mail.smtp.socketFactory.port": "465",
"mail.smtp.socketFactory.class": "javax.net.ssl.SSLSocketFactory",
"mail.smtp.socketFactory.fallback": "false"]
}
}
Feliz 2010, ao som de “Dream Theater – Don’t look past me”.
Quer aprender a enviar e-mails de dentro de sua aplição #grails? http://bit.ly/5mQ3m2 (Por favor RT)
Lucas Teixeira
2 Jan 10 at 01:44
RT @lucastex: Envio de e-mails com o Mail Plugin http://bit.ly/7LOCfQ
Raphael Miranda
2 Jan 10 at 09:57
[...] dentro do controller, usando o mail plugin (leia este post sobre o mail plugin), executava o seguinte trecho de [...]
Config.groovy – Cuidado ao manipular suas configurações at Lucas Teixeira
11 Jan 10 at 22:18