Одна из функций разрабатываемого мной приложения заключается в том, что электронное письмо отправляется каждый раз, когда пользователь регистрирует свой счет в нашей системе. Отправить электронное письмо из приложения Java легко, особенно при использовании Spring framework. Я использую JavaMailSenderImpl и SimpleMailMessage из среды Spring, и все работает нормально.
Но мне нужно отправить электронное письмо в новом потоке, чтобы обмен данными с SMTP-сервером не замедлял остальные процессы приложений. Проблема в том, что когда я вызываю метод
MailSender.send()
из нового потока, сообщение электронной почты не отправляется, в отличие от отправки в том же потоке. Я пробовал использовать аннотацию Spring @Async, Spring Executor и простой старый java.lang.Thread , но это не работает.
Можно ли отправлять электронную почту в java асинхронно с помощью spring? Была ли у кого-нибудь похожая проблема с этим? При необходимости я могу опубликовать несколько примеров кода.
Tnx