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