Spring Boot Thymeleaf javamail -«Ресурс пути класса [images/logo.png] не может быть открыт, потому что он не существует»JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring Boot Thymeleaf javamail -«Ресурс пути класса [images/logo.png] не может быть открыт, потому что он не существует»

Сообщение Anonymous »

Я использую Spring Boot и Thymeleaf для отправки электронных писем. У меня есть одно встроенное изображение в качестве подписи в электронном письме. Все работает нормально, если я отправляю по одному письму за раз. Но мой вариант использования - отправить отдельное электронное письмо в список получателей. Я могу сделать это без изображения. Но когда я добавляю изображение, первое электронное письмо отправляется, и во второй раз я получаю ресурс пути класса [Images /tp-logo.png], нельзя открыть, потому что его не существует < /code>. < /P>


Когда я вызываю электронное письмо. Цикл, он работает нормально. < /li>
< /ol>

Я понимаю, что потоки ленивы, но почему ресурс отсутствует?for(ContactIfo contact : contactInfoList) {
ExecutorService emailExecutor = Executors.newCachedThreadPool();
emailExecutor.execute(() -> {
final String emailAddress = contact.getEmailAddress();
if (StringUtils.isNotBlank(emailAddress)) {
emailService.sendEmail(emailAddress);
}
});
}
< /code>

Код метода вынуждения сбоя: < /p>

contactInfoList.parallelStream().forEach(contact -> {
ExecutorService emailExecutor = Executors.newCachedThreadPool();
emailExecutor.execute(() -> {
final String emailAddress = contact.getEmailAddress();
if (StringUtils.isNotBlank(emailAddress)) {
emailService.sendEmail(emailAddress);
}
});
});
< /code>

callee: < /p>

private void sendEmail(Mail mail) throws MessagingException {
MimeMessage message = emailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message,
MimeMessageHelper.MULTIPART_MODE_MIXED_RELATED,
StandardCharsets.UTF_8.name());

Context context = new Context();
context.setVariables(mail.getProps());

String html = templateEngine.process("me-event-update-template", context);

helper.setText(html , true);
helper.setTo(mail.getMailTo());
helper.setSubject(mail.getSubject());
helper.setFrom(mail.getFrom());
// adding inline resources with matching cId to the variable name/value
helper.addInline("logo", new ClassPathResource("images/logo.png"), "image/png");
emailSender.send(message);
}


Подробнее здесь: https://stackoverflow.com/questions/612 ... -cannot-be
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»