У меня есть фрагмент кода, в котором я пытаюсь отправлять электронные письма с шаблоном тимелеафа, чтобы отображать данные и изображение (как логотип) внутри электронного письма.
Вот моя функция для отправки электронного письма:
public void sendingemailtest() throws MessagingException, IOException{
String recipientName = "Hero";
final Context context = new Context();
final MimeMessage mimeMessage = this.mailSenderTest.createMimeMessage();
final MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
context.setVariable("name", recipientName);
context.setVariable("image", "logo.jpg");
helper.setFrom("from email test");
helper.setSubject("testing sending email with image");
helper.setTo("to email test");
final String htmlContent = this.springTemplateEngine.process("registration-email", context);
helper.setText(htmlContent, true);
helper.addInline("logo.jpg", new FileSystemResource("/logo.jpg"), "image/jpg");
this.mailSenderTest.send(mimeMessage);
}
И в шаблоне тимелеафа я использую th:src = "|cid:${image}|" для ссылки на изображение и th:text = "${name}" для ссылки на имя
Все работает, и электронное письмо отправлено, но у меня есть одна проблема: полученное электронное письмо отображается как содержащее вложение, но я не хочу показывать изображение как вложение. Как это сделать, поскольку я вижу, что многие компании отправляют электронные письма, содержащие изображения, но не показывающие вложения на боковой стороне письма.
Пожалуйста помоги!
спасибо @MohammedHousseynTaleb, но ваше предложение не работает, поскольку я не создаю свой html-шаблон внутри своей функции. У меня есть шаблон отдельно, и, как вы видите в моем коде, я использую преобразователь шаблонов для обработки шаблона и помещения в него данных и изображений. Я не буду использовать набор текста и создавать html-код внутри своей функции. (У меня есть дизайн и слишком много вещей в моем электронном HTML-документе)




может быть, вы можете использовать содержимое почты в формате html, если я не ошибаюсь