Я сделал простое приложение для отправки электронной -почты с помощью Java API и у меня возник вопрос:
Есть ли способ узнать SMTP-хост, зная адрес электронной почты -одного из них? кто войдет в систему, чтобы отправить электронное письмо -? И еще порт?
Например, если адрес электронной почты отправителя -— sender@gmail.com, SMTP-хост — smtp.gmail.com, а порт — 465. Если адрес электронной почты отправителя -— sender@yahoo. com, SMTP-хост smtp.yahoomail.com и порт 25.
Предположим, я этого не знаю, есть ли способ найти эту информацию с помощью классов Java API? Обратите внимание, что я новичок в Java.:)
Заранее спасибо,
Андреа
Спасибо за ответы. Я пытался сделать следующее:
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;
}
Но независимо от значения hostName (, например. gmail.com, yahoo.com) Record[] records = new Lookup (hostName, Type.MX ).run (); всегда возвращает ноль.
Я почти уверен, что что-то пропустил, но не знаю что. Не могли бы вы помочь мне с этим? Можете ли вы сказать мне, что я делаю неправильно?
Большое спасибо,
Андреа