Envio de e-mail a partir da classe de domínio
02/06/2017 00:46
0
Boa noite, pessoal.

Eu estou com dificuldade em disparar e-mails a partir da classe de domínio. Basicamente eu queria colocar no afterInsert(){...} um gatilho para disparar um e-mail, mas não estou conseguindo e também não achei a solução na internet. O "estranho" é que quando eu disparo de um controller ele vai belezinha, mas eu não queria deixar dentro do save() esse gatilho.

Estou usando o plugin asynchronous-mail (http://plugins.grails.org/plugin/kefirsf/asynchronous-mail) e minha classe de domínio:

import grails.plugin.asyncmail.AsynchronousMailService
class Domain {
String attributo1
String attributo2
(...)
AsynchronousMailService asynchronousMailService
static transients = ['asynchronousMailService'] 
(...)
def afterInsert(){
asynchronousMailService.sendMail {to... from.. subject.. etc}
}
}


Estou meio que na tentativa e errosssssss. Tentei deixar explícito que o serviço era transient, também tentei fazer com "this.asynchronousMailService.sendMail {to... from.. subject.. etc}"

O código dá pau bem na linha
? asynchronousMailService.sendMail { 


Mas o erro é de asserção por causa do afterInsert().. não ajuda muito.

Eu estou fazendo burrada tentando usar um serviço de dentro de uma domain? Uma vez eu vi um exemplo que o cara tinha um serviço de validação que ele usava dentro da domain, então achei que ia ser fácil. Como disse antes, quando eu disparo de um controller funciona bala.

Obrigado!
Tags: Grails, asyncMailService, mailService, email, domain, domain-class, afterInsert


0
Problema algum usar serviço dentro da classe de domínio, funciona perfeitamente.

Eu avaliaria, neste caso, mais o serviço mesmo.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto