美文网首页
Springboot发送带二维码的邮件,邮件中包含二维码

Springboot发送带二维码的邮件,邮件中包含二维码

作者: 永恒乐章 | 来源:发表于2022-03-03 11:58 被阅读0次

首先引入依赖,生成二维码用zxing的

        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>3.3.0</version>
        </dependency>

生成二维码,这里返回OutputStream

public static ByteArrayOutputStream generateQRCodeImage(String text, int width, int height)
            throws WriterException, IOException {
        QRCodeWriter qrCodeWriter = new QRCodeWriter();
        BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
//        Path path = FileSystems.getDefault().getPath(filePath);
//        MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        MatrixToImageWriter.writeToStream(bitMatrix, "jpg", outputStream);
        return outputStream;
    }

最后把图片插入邮件中,先新建message

MimeMessage mimeMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);

邮件文字需要使用html语言编写,图片的位置用img标签

<p><img src='cid:pic'></p>

最后把二维码图片通过DataScource放入message中

helper.setText(text);
ByteArrayOutputStream outputStream = QRCodeUtils.generateQRCodeImage(getReportUrl(formId), 350, 350);
DataSource aAttachment = new ByteArrayDataSource(outputStream.toByteArray(), "application/octet-stream");

helper.addInline("pic", aAttachment);

相关文章

  • Springboot发送带二维码的邮件,邮件中包含二维码

    首先引入依赖,生成二维码用zxing的 生成二维码,这里返回OutputStream 最后把图片插入邮件中,先新建...

  • iOS12系统应用发送邮件中的附件

    iOS12系统应用发送邮件中的附件 iOS12系统应用发送邮件中的附件,如果发送邮件的内容很多,或者包含文档、图片...

  • SpringBoot 系列之邮件发送姿势介绍

    SpringBoot系列之邮件发送姿势介绍 邮件发送,在实际的项目开发中,可能用的不是特别多,如果没有特定的需求,...

  • SpringBoot邮件发送

    这篇文章介绍springboot的邮件发送。 由于很简单就没有分出server和imp之类,只是在controll...

  • SpringBoot 发送邮件

    # 依赖 # 配置 # 发送简单文本邮件 # 发送html邮件 # 使用邮件模板发送邮件 添加依赖 配置 新建ht...

  • springboot 发送邮件

    邮件的依赖: 定义邮件的服务类: 这里我们实例化MailService 测试一下: test-applicatio...

  • SpringBoot发送邮件

    简述 在日常工作开发中,发送邮件功能有时需要我们去开发使用,这里首先介绍以下与发送接受邮件相关的一些协议: 发送邮...

  • SpringBoot 发送邮件

    学习目标 快速掌握邮件业务类的核心逻辑和企业邮件的日常服务。 快速查阅 专题阅读:《SpringBoot 布道系列...

  • springBoot 发送邮件

    全局配置文件: # JavaMailsender 邮件发送的配置 spring . mail .host-smtp...

  • SpringBoot发送邮件

    maven配置 application.yml配置 邮件配置工具类 调用发送邮件 成功! 关注公众号回复“书籍”就...

网友评论

      本文标题:Springboot发送带二维码的邮件,邮件中包含二维码

      本文链接:https://www.haomeiwen.com/subject/yqgyrrtx.html