首页 > 解决方案 > 无法使用 JavaMailSender 发送 html 电子邮件

问题描述

我正在尝试将 html 作为电子邮件从JavaMailSender. 有html一个<img>标签。

MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true);
mimeMessageHelper.setTo("preetham.kv@highpeaksw.com");
mimeMessageHelper.setText("<img src=cid:netLogo\" />",true);
ClassPathResource netLogoImg = new ClassPathResource("sample.png");
mimeMessageHelper.addInline("netLogo",netLogoImg);
mailSender.send(mimeMessage);

但是当发送电子邮件时,图像将作为附件而不是电子邮件内容的图像。如何发送带有图像和链接的html spring-boot

标签: javaspring-bootjakarta-mail

解决方案


嗨,您必须在字符串中扭曲您的 Html 内容,并且您使用以下代码

    
        MimeMessage message = (MimeMessage) getNewMessageInstance();//sender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message,true);
        try {
            if (emailContent == null || emailContent.length() == 0) {
                message.setContent(multipart);
            } else {
                message.setContent(emailContent, "text/html; charset=utf-8");
            }
        } catch (Exception e) {
            log.info("Exception while setting message content ",e);
        }
        


推荐阅读