Java: Вопрос относительно почты Apache Commons - PullRequest
0 голосов
/ 02 августа 2011

Я пытаюсь отправить электронное письмо с помощью API электронной почты Apache commons.

Я установил hMailServer в качестве сервера SMTP и создал домен test.com.Я добавил пользователя 'user1'.

. Я пытался отправить письмо, используя следующий код

  public static void sendSimpleMail() throws Exception {
    Email email = new SimpleEmail();
    email.setSmtpPort(25);
    email.setDebug(false);
    email.setHostName("localhost");
    email.setFrom("user1@test.com");
    email.setSubject("Hi");
    email.setMsg("This is a test mail ... :-)");
    email.addTo("abc@gmail.com");
    email.setTLS(true);
    email.send();
    System.out.println("Mail sent!");
}

. Когда моя программа запускается, она печатает «Mail sent!».Но прошло около 30 минут, но я не получил почту в своем почтовом ящике.

Что-то мне не хватает?Есть ли задержка из-за проблем с сетью?

Обновление:

Я провел диагностику и получил следующие данные.

enter image description here

Я думаю, что проблема может быть связана с исходящим портом.

Может кто-нибудь помочь мне понять, что происходит?

Ответы [ 2 ]

0 голосов
/ 02 августа 2011

Хорошо, посмотрите на ошибку: «mail.hmailserver.com не может быть разрешен» (AKA не найден).Вы уверены, что это правильный адрес?Вы уверены, что там есть почтовый сервер?

Кстати, если у вас нет файловых записей HOSTS, этот второй неудачный тест с "test.com" никогда не будет работать.Используйте настоящий почтовый сервер

0 голосов
/ 02 августа 2011

Там может быть ряд проблем. Поскольку вы не получили исключения в своем Java-коде, скорее всего, электронное письмо достигло вашего экземпляра hMailServer, но не дошло до этого. Документация для hMailServer содержит ряд предложений по устранению неполадок.

Лучше всего предположить, что ваш провайдер (или ваш локальный брандмауэр) блокирует исходящий порт 25. Также обязательно проверьте папку со спамом в gmail.

...