Я знаю, что это должен быть, наверное, очень простой вопрос, но я застрял на нем в течение многих часов. Я не нашел проблемы после многих исследований в Интернете.
Я начал проект jhipster и теперь пытаюсь настроить почтовый сервер для отправки регистрационных писем новым пользователям. Итак, я отредактировал 2 файла конфигурации, которые существуют в проекте:
../src/test/resources/config/application.yml
../src/main/resources/config/application.yml
В каждом из них я добавил следующие строки под «Spring: mail:»
host: smtp.gmail.com
port: 25
user: [email protected]
password: xxx
protocol: smtp
tls: true
auth: true
from: [email protected]
Затем я попытался сделать новую регистрацию и не сработало подтверждение по почте, я также попытался запустить тест, явно вызвав функцию sendEmail из «mailService», это тоже не сработало. Кто-нибудь знает почему? Я делаю ошибку в конфигурации? Есть что-то еще, что я должен сделать?
Добавление запрошенной информации о журналах:
Обычно это журнал, который я получаю, когда запускаю тест, вызывающий функцию sendMail:
[DEBUG] org.portotech.perdigao.config.AsyncConfiguration - Creating Async Task Executor<br>
[DEBUG] org.portotech.perdigao.config.MetricsConfiguration - Registering JVM gauges<br>
[DEBUG] org.portotech.perdigao.config.CacheConfiguration - No cache<br>
[WARN] org.portotech.perdigao.Application - No Spring profile configured, running with default configuration<br>
[DEBUG] org.portotech.perdigao.config.MailConfiguration - Configuring mail server<br>
[INFO] org.portotech.perdigao.config.ThymeleafConfiguration - loading non-reloadable mail messages resources<br>
[DEBUG] org.portotech.perdigao.config.DatabaseConfiguration - Configuring Mongeez<br>
[DEBUG] org.portotech.perdigao.service.MailService - Send e-mail[multipart 'false' and html 'false'] to '[email protected]' with subject 'test' and content=test<br>
[INFO] org.portotech.perdigao.config.CacheConfiguration - Remove Cache Manager metrics<br>
[INFO] org.portotech.perdigao.config.CacheConfiguration - Closing Cache Manager<br>
Disconnected from the target VM, address: '127.0.0.1:51831', transport: 'socket'<br>
Process finished with exit code 0
Итак, письмо не было отправлено, но я не получил сообщения об ошибке. После того, как вы разместили комментарий, я снова открыл свою среду IDE (Intellij), чтобы скопировать журнал для публикации здесь, и получил следующий журнал:
[DEBUG] org.portotech.perdigao.config.AsyncConfiguration - Creating Async Task Executor<br>
[DEBUG] org.portotech.perdigao.config.MetricsConfiguration - Registering JVM gauges<br>
[DEBUG] org.portotech.perdigao.config.CacheConfiguration - No cache<br>
[WARN] org.portotech.perdigao.Application - No Spring profile configured, running with default configuration<br>
[DEBUG] org.portotech.perdigao.config.MailConfiguration - Configuring mail server<br>
[INFO] org.portotech.perdigao.config.ThymeleafConfiguration - loading non-reloadable mail messages resources<br>
[DEBUG] org.portotech.perdigao.config.DatabaseConfiguration - Configuring Mongeez<br>
[DEBUG] org.portotech.perdigao.service.MailService - Send e-mail[multipart 'false' and html 'false'] to '[email protected]' with subject 'test' and content=test<br>
[WARN] org.portotech.perdigao.service.MailService - E-mail could not be sent to user '[email protected]', exception is: Mail server connection failed; nested exception is javax.mail.MessagingException: Connection error (java.net.NoRouteToHostException: No route to host). Failed messages: javax.mail.MessagingException: Connection error (java.net.NoRouteToHostException: No route to host)<br>
[INFO] org.portotech.perdigao.config.CacheConfiguration - Remove Cache Manager metrics<br>
[INFO] org.portotech.perdigao.config.CacheConfiguration - Closing Cache Manager
Затем я снова выполнил и больше никогда не получал этого сообщения об исключении NoRouteToHostException, журнал похож на первый, который я опубликовал. Это действительно странно = /. В любом случае, я выполнил пинг на smtp.gmail.com, и все в порядке.