Javamail - ao enviar e-mail para usuário inexistente não está lançando exceção

6 respostas
Roger75

Olá pessoal,

Tenho uma aplicação que envia e-mails com JavaMail. O problema que está ocorrendo é que, se o e-mail do destinatário não existe, eu precisaria que me lançasse uma exceção na hora em que eu fizesse

import javax.mail.Message;
import javax.mail.Transport;

Transport.send(msg);

Não está lançando nenhuma exceção, e eu precisaria tratar nesse caso e enviar a mensagem de volta ao remetente.

6 Respostas

urubatan

a excessão só sera lançada se o servidor de e-mails ao qual tu esta conectado avisar que o usuário não existe.

Roger75

Então isso é configurado no servidor de e-mail?

T

E pior ainda, isso depende do servidor de email que irá receber os emails, não no servidor de email que você usa para enviar os emails.

otaviofcs

A única coisa que você poderia validar seria a existência do domínio (através de uma consulta ao DNS) ou a validação do email (se tem arroba, se não tem espaço,…).

Fora isso a resposta dependerá do servidor para o qual você está enviando, pois a lista de usuários válidos fica com ele. Pior, apesar de alguns e-mails não existirem, ele pode optar por não te dar retorno e jogar o e-mail recebido em uma caixa “fantasma”.

Se você quer “filtrar” a sua lista de e-mail, mande como remetente um e-mail com caixa postal real. Isso vai te mostrar quais os retornos ocorreram. Mas isso é manual ou muito trabalhoso para validar, pois o erro pode, por exemplo, ser caixa postal cheia.

Roger75

Através dos logs da aplicação percebi que aqui na empresa, quando tento mandar a mensagem para um endereço de e-mail inexistente não lança exception, mas no cliente sim (“Missing Local Name”).

Valeu

T

De qualquer maneira, seu teste não é completo - você vai ver que para determinados endereços de email “externos” você também não vai obter essa exception “Missing Local Name”. Experimente mandar um email para "[email removido]" e veja o que ocorre.

Criado 26 de abril de 2007
Ultima resposta 27 de abr. de 2007
Respostas 6
Participantes 4