private void send()

in src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMailService.java [188:217]


    private void send(@NotNull final MimeMessage message) {
        final var configuration = this.configuration;
        Objects.requireNonNull(configuration, "Configuration must not be null");
        final var cryptoService = this.cryptoService;
        Objects.requireNonNull(cryptoService, "Crypto service must not be null");
        try {
            final ClassLoader tccl = Thread.currentThread().getContextClassLoader();
            Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
            final String password = cryptoService.decrypt(configuration.password());
            try (Transport transport = message.getSession().getTransport(SMTPS_PROTOCOL)) {
                final List<ConnectionListener> connectionListeners = this.connectionListeners;
                connectionListeners.forEach(transport::addConnectionListener);
                final List<TransportListener> transportListeners = this.transportListeners;
                transportListeners.forEach(transport::addTransportListener);
                transport.connect(configuration.mail_smtps_host(), configuration.mail_smtps_port(), configuration.username(), password);
                message.saveChanges();
                final MessageIdProvider messageIdProvider = this.messageIdProvider;
                if (messageIdProvider != null) {
                    final String messageId = messageIdProvider.getMessageId(message);
                    message.setHeader(MESSAGE_ID_HEADER, String.format("<%s>", messageId));
                }
                logger.debug("sending message '{}'", message.getMessageID());
                transport.sendMessage(message, message.getAllRecipients());
            } finally {
                Thread.currentThread().setContextClassLoader(tccl);
            }
        } catch (MessagingException e) {
            throw new CompletionException(e);
        }
    }