private void sendMail()

in src/main/java/org/apache/sling/clam/result/internal/MailSendingScanResultHandler.java [140:204]


    private void sendMail(final Map<String, Object> properties) throws Exception {
        final MailService mailService = this.mailService;
        final MessageBuilder builder = mailService.getMessageBuilder();

        final String from = configuration.mail_from();
        final String[] to = configuration.mail_to();
        final String[] cc = configuration.mail_cc();
        final String[] bcc = configuration.mail_bcc();
        final String[] replyTo = configuration.mail_replyTo();
        final String subject = configuration.mail_subject();
        final String text = configuration.mail_text();
        final String html = configuration.mail_html();

        if (StringUtils.isNotBlank(from)) {
            builder.from(from);
        }
        for (final String address : to) {
            if (StringUtils.isNotBlank(address)) {
                builder.to(address);
            }
        }
        for (final String address : cc) {
            if (StringUtils.isNotBlank(address)) {
                builder.cc(address);
            }
        }
        for (final String address : bcc) {
            if (StringUtils.isNotBlank(address)) {
                builder.bcc(address);
            }
        }
        for (final String address : replyTo) {
            if (StringUtils.isNotBlank(address)) {
                builder.replyTo(address);
            }
        }
        if (StringUtils.isNotBlank(subject)) {
            final IContext context = new Context(Locale.ENGLISH, properties);
            final TemplateSpec templateSpec = new TemplateSpec(subject, TemplateMode.TEXT);
            final String s = templateEngine.process(templateSpec, context);
            builder.subject(s);
        }
        if (StringUtils.isNotBlank(text)) {
            final IContext context = new Context(Locale.ENGLISH, properties);
            final TemplateSpec templateSpec = new TemplateSpec(text, TemplateMode.TEXT);
            final String t = templateEngine.process(templateSpec, context);
            builder.text(t);
        }
        if (StringUtils.isNotBlank(html)) {
            final IContext context = new Context(Locale.ENGLISH, properties);
            final TemplateSpec templateSpec = new TemplateSpec(html, TemplateMode.HTML);
            final String h = templateEngine.process(templateSpec, context);
            builder.html(h);
        }
        final MimeMessage message = builder.build();
        logger.debug("sending scan result mail: {}", properties);
        final CompletableFuture<Void> future = mailService.sendMessage(message);
        future.whenComplete((v, e) -> {
            if (Objects.nonNull(e)) {
                logger.error("sending scan result mail failed", e);
            } else {
                logger.debug("sending scan result mail succeeded");
            }
        });
    }