Problemas ao usar o commons-email e gmail no tomcat
16/08/2012 17:18
0
Galera,


estou com um grande problema. Tentei criar um serviço de enviar email, como no Blog do Kico (http://www.itexto.net/devkico/?p=461)para quando o administrador de um sistema cadastrar um usuário, esse usuário receber uma notificaçào com o seu login e senha (parecido com o que ocorre no GrailsBrasil).Adicionei na pasta lib as dependencias commons-email. E Consegui fazer rodar localhost e tudo através de um MailService.groovy, assim:

import org.apache.commons.mail.HtmlEmail
import org.apache.commons.mail.*;

class MailService
{
static scope = "request"

boolean transactional = false

String host= "smtp.gmail.com"

String username = "bruno@gmail.com"
String password = "MinhaSenha"
String from = "bruno@gmail.com"
String name = "Administrador"
Integer port = 465


String email = null
String mensagem = null
String assunto = null

def boolean send(String subject, String msg, String to)
{
try
{
org.apache.commons.mail.HtmlEmail email = new org.apache.commons.mail.HtmlEmail()
email.setCharset("UTF-8")
email.setHostName(host)
email.addTo(to)
email.setFrom(from, name)
email.setSubject(subject)
email.setHtmlMsg(msg)


email.setSSL(true)
email.setTLS(true);
email.setSslSmtpPort(String.valueOf(port))


email.setAuthentication(username,password)


email.setSmtpPort(port)


email.send()

return true

}catch (Exception e)
{
println e
return false
}
}

}
E no create ficou assim:
def create() {

switch (request.method) {
case 'GET':
[userGuideInstance: new UserGuide(params)]
break
case 'POST':
def userGuideInstance = new UserGuide(params)
println params
if (!userGuideInstance.save(flush: true))
{
render view: 'create', model: [userGuideInstance: userGuideInstance]
return
}

mailService.send("Informações de login - ", "Informações<br />Login: ${userGuideInstance.username}<br />Senha: ${params.password}", userGuideInstance.email)

flash.message = message(code: 'default.created.message', args: [message(code: 'userGuide.label', default: 'UserGuide'), userGuideInstance.id])
redirect action: 'show', id: userGuideInstance.id
break
}
}

O problema é que quando gero o .war e faço deploy no tomcat ele não envia essa notificação :-( Vi em alguns posts que devo configurar o IMAP para usar o gmail ou ainda não usar o gmail porque ele bloqueia. Alguém já teve esse problema ou sabe como solucioná-lo?
Tags: commons-email, enviar email gmail, simple mail grails


0
Já há soluções para envio de emails prontas.
A minha favorita é o plugin mail (Link).
Sugiro que vc de uma olhada, vai evitar dor de cabeça :)

[ ]'s
16/08/2012 22:19


0
Tive problemas com esse plugin =( Alguém poderia dar uma dica de como resolver usando o commons-email?
17/08/2012 13:16



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