SLING-8920 Provide a simple API and implementation to build and send mails

Do not return sent message as result
diff --git a/src/main/java/org/apache/sling/commons/messaging/mail/MailService.java b/src/main/java/org/apache/sling/commons/messaging/mail/MailService.java
index 258b619..f203d8d 100644
--- a/src/main/java/org/apache/sling/commons/messaging/mail/MailService.java
+++ b/src/main/java/org/apache/sling/commons/messaging/mail/MailService.java
@@ -27,10 +27,10 @@
 import org.osgi.annotation.versioning.ProviderType;
 
 @ProviderType
-public interface MailService extends MessageService<MimeMessage> {
+public interface MailService extends MessageService<MimeMessage, Void> {
 
     @NotNull MessageBuilder getMessageBuilder();
 
-    @NotNull CompletableFuture<MimeMessage> sendMessage(@NotNull final MimeMessage message);
+    @NotNull CompletableFuture<Void> sendMessage(@NotNull final MimeMessage message);
 
 }
diff --git a/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMailService.java b/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMailService.java
index 3c2c87d..bc459f1 100644
--- a/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMailService.java
+++ b/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMailService.java
@@ -165,11 +165,11 @@
     }
 
     @Override
-    public @NotNull CompletableFuture<MimeMessage> sendMessage(@NotNull final MimeMessage message) {
-        return CompletableFuture.supplyAsync(() -> send(message), runnable -> threadPool.submit(runnable));
+    public @NotNull CompletableFuture<Void> sendMessage(@NotNull final MimeMessage message) {
+        return CompletableFuture.runAsync(() -> send(message), runnable -> threadPool.submit(runnable));
     }
 
-    private @NotNull MimeMessage send(@NotNull final MimeMessage message) {
+    private void send(@NotNull final MimeMessage message) {
         try {
             final ClassLoader tccl = Thread.currentThread().getContextClassLoader();
             Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
@@ -188,7 +188,6 @@
                 }
                 logger.debug("sending message '{}'", message.getMessageID());
                 transport.sendMessage(message, message.getAllRecipients());
-                return message;
             } finally {
                 Thread.currentThread().setContextClassLoader(tccl);
             }
diff --git a/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java b/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java
index 8eeb27d..2aeab8c 100644
--- a/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java
+++ b/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java
@@ -106,7 +106,7 @@
     private GreenMail greenMail;
 
     @Inject
-    protected MessageService<MimeMessage> messageService;
+    protected MessageService<MimeMessage, Void> messageService;
 
     @Inject
     @Filter(value = "(protocol=SMTPS)")
@@ -200,7 +200,7 @@
         final Properties properties = new Properties();
         final Session session = Session.getDefaultInstance(properties);
         final MimeMessage message = new MimeMessage(session);
-        final CompletableFuture<MimeMessage> future = messageService.sendMessage(message);
+        final CompletableFuture<Void> future = messageService.sendMessage(message);
         future.get();
     }
 
@@ -219,7 +219,7 @@
             .text(text)
             .build();
 
-        final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+        final CompletableFuture<Void> future = mailService.sendMessage(message);
         future.get();
 
         if (local) {
@@ -254,7 +254,7 @@
             .attachment(support, "image/png", "SupportApache-small.png")
             .build();
 
-        final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+        final CompletableFuture<Void> future = mailService.sendMessage(message);
         future.get();
 
         if (local) {
@@ -286,7 +286,7 @@
             .html(html)
             .build();
 
-        final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+        final CompletableFuture<Void> future = mailService.sendMessage(message);
         future.get();
 
         if (local) {
@@ -320,7 +320,7 @@
             .attachment(support, "image/png", "SupportApache-small.png")
             .build();
 
-        final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+        final CompletableFuture<Void> future = mailService.sendMessage(message);
         future.get();
 
         if (local) {
@@ -356,7 +356,7 @@
             .inline(sling, "image/png", "sling")
             .build();
 
-        final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+        final CompletableFuture<Void> future = mailService.sendMessage(message);
         future.get();
 
         if (local) {
@@ -393,7 +393,7 @@
             .inline(sling, "image/png", "sling")
             .build();
 
-        final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+        final CompletableFuture<Void> future = mailService.sendMessage(message);
         future.get();
 
         if (local) {
@@ -436,7 +436,7 @@
             .text("Testing Connection and Transport Listeners")
             .build();
 
-        final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+        final CompletableFuture<Void> future = mailService.sendMessage(message);
         future.get();
 
         assertThat(unusedCLSR.getReference().getUsingBundles()).isNull();