estou utilizando commons mail apache para enviar email, so que esta lançando uma exceção que não estou conseguindo tratar com EmailException, vejam execeção abaixo:
DEBUG SMTP: Invalid Addresses
DEBUG SMTP: “familiapfahl@pop.cpm.br” familiapfahl@pop.cpm.br
DEBUG SMTP: Sending failed because of invalid destination addresses
RSET
250 flushed javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 511 sorry, can’t find a valid MX for rcpt domain (#5.1.1 - chkuser)
como poderia estar tratando esta execeção utlizando commons mail ?
}
catch (Exception e){
//Tratamento do erro AQUI
}
Acho interessante tratar Exception e não SendFailedException, porque se der outra exception seu código estará defensivo.
Mas tb podes tratar a SendFailedException
}
catch (Exception e){
//Tratamento do erro AQUI
}
Acho interessante tratar Exception e não SendFailedException, porque se der outra exception seu código estará defensivo.
Mas tb podes tratar a SendFailedException[/quote]
Bom depende se ele quer identificar qual é o erro exatamente, tem que tratar com a exception específica e não uma genérica… Foi isso que entendi que ele tinha perguntado…
Se para ele tanto faz o erro que acontecer, aí sim, mete um Throwable que é o pai de todos e pronto…
eu preciso pegar o adress mail que deu erro e jogar para cima
mas a classe EmailException não me possibilita isso, tentei com Throwable tambem nao deu
teria de ser SendFailedException mas nao consigo,
não sei se e limitação de commons Email, por isso to aqui
pedindo ajuda da galera, algum de nos pode ja ter se deparado
com esse problema e ter resolvido de alguma forma.
Você tem que ver que Invalid Adress é apenas a mensagem dentro do SendFailedException…
Eu faria diferente… Nesse seu método de envio de email eu não colocaria try catch, apenas throws, o eclipse faz isso para você…
Na chamada desse método eu colocaria um try catch…
try
{
enviaEmail();
}
catch(Throwable t)
{
// uma validação qualquer ou lança pra cima isso ainda como vc fez
throw new NegocioException("Operação Inválida - Não foi possivel enviar os emails contate o administrador");
}
ta mas como eu pego o endereço de email inválido.
porque esta dando a exceção os emails nao são passados
para no email que o sevidor nao aceitou por ter
um dominio inválido.
eu queria retornar esse email para usuario para ele arrumar
eu tirar da lista e enviar novamento o email
e a exception que esta sendo lançada e nao tradada
eu copiei do console para postar
debug e do commons mail mostra o que acontece
no console.
a exceção Invalid adress acontece eu so não consigo tratar,
se coloco catch com a classe SendFailedException o eclipse
diz que a exceção nunca vai acontecer, mas ela acontece.
no commons Mail essa parte de exceção e meio engessada
ao que me parece pq na documentação fala que
EmailException >> Exception >> Thowable, esta exceção
que quero lançar não esta nesta arvore.