Encontrando o host e a porta SMTP sabendo o endereço de e-mail usando a API JAVA

Fiz uma aplicação simples para enviar e-mails usando a API Java e tenho uma pergunta:

Existe alguma maneira de descobrir o host SMTP sabendo o endereço de e-mail de quem vai fazer o login para enviar um e-mail? E também o porto?

Por exemplo, se o endereço de e-mail do remetente for [email protected], o host SMTP será smtp.gmail.com e a porta 465. Se o endereço de e-mail do remetente for [email protected], o host SMTP será smtp .yahoomail.com e a porta 25.

Supondo que eu não saiba disso, existe alguma maneira de encontrar essas informações usando as classes da API Java? Por favor, note que eu sou novo no java :)

Desde já, obrigado,

Andreea

Obrigado por suas respostas. Eu tentei fazer o seguinte:

<code>    public static String getMXRecordsForEmailAddress(String eMailAddress) { 

            String returnValue = null; 

            try { 
                String hostName = getHostNameFromEmailAddress(eMailAddress); 
                Record[] records = new Lookup(hostName, Type.MX).run(); 
                if (records == null) { 
             throw new RuntimeException("No MX records found for domain " + hostName + ".");
 } 

                // return first entry (not the best solution) 
                if (records.length > 0) { 
                        MXRecord mx = (MXRecord) records[0]; 
                        returnValue = mx.getTarget().toString(); 
                } 
            } catch (TextParseException e) { 
                throw new RuntimeException(e); 
            } 

            System.out.println("return value = "+returnValue);
            return returnValue; 
        } 
</code>

Mas, independentemente do valor de hostName (por exemplo, gmail.com, yahoo.com)Registro [] registros = novo Lookup (hostName, Type.MX) .run (); sempre retorna null.

Tenho certeza de que perdi alguma coisa, mas não sei o quê. Você pode por favor me ajudar com isso? Você pode me dizer o que estou fazendo de errado?

Obrigado muito,

Andreea

questionAnswers(4)

yourAnswerToTheQuestion