SLING-11018 - Updating to Sling Commons Messaging Mail 2.0.0
diff --git a/feature/src/main/features/base.json b/feature/src/main/features/base.json
index ef836bd..e297c49 100644
--- a/feature/src/main/features/base.json
+++ b/feature/src/main/features/base.json
@@ -10,7 +10,15 @@
             "start-order":"15"
         },
         {
-            "id":"javax.mail:mail:1.5.0-b01",
+            "id":"jakarta.activation:jakarta.activation-api:jar:2.0.1",
+            "start-order":"15"
+        },
+        {
+            "id":"jakarta.mail:jakarta.mail-api:2.0.1",
+            "start-order":"20"
+        },
+        {
+            "id":"com.sun.mail:javax.mail:jar:1.6.2",
             "start-order":"20"
         },
         {
diff --git a/feature/src/main/features/cms/dependencies.json b/feature/src/main/features/cms/dependencies.json
index 0d98101..6d52e1b 100644
--- a/feature/src/main/features/cms/dependencies.json
+++ b/feature/src/main/features/cms/dependencies.json
@@ -29,10 +29,6 @@
             "start-order": "15"
         },
         {
-            "id": "org.apache.commons:commons-email:1.5",
-            "start-order": "15"
-        },
-        {
             "id": "org.apache.commons:commons-math3:3.6.1",
             "start-order": "15"
         },
@@ -61,7 +57,7 @@
             "start-order": "15"
         },
         {
-            "id": "com.sun.mail:javax.mail:1.6.2",
+            "id": "com.sun.mail:jakarta.mail:2.0.1",
             "start-order": "15"
         },
         {
@@ -77,7 +73,7 @@
             "start-order": "15"
         },
         {
-            "id": "org.apache.sling:org.apache.sling.commons.crypto:1.0.0",
+            "id": "org.apache.sling:org.apache.sling.commons.crypto:1.1.0",
             "start-order": "15"
         },
         {
@@ -85,7 +81,7 @@
             "start-order": "15"
         },
         {
-            "id": "org.apache.sling:org.apache.sling.commons.messaging.mail:1.0.0",
+            "id": "org.apache.sling:org.apache.sling.commons.messaging.mail:2.0.0",
             "start-order": "15"
         },
         {
diff --git a/pom.xml b/pom.xml
index 5e5cd15..9ff57cc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
         <sling.password>admin</sling.password>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <sling.cms.java.version>8</sling.cms.java.version>
+        <sling.cms.java.version>11</sling.cms.java.version>
         <maven.compiler.source>1.${sling.cms.java.version}</maven.compiler.source>
         <maven.compiler.target>${maven.compiler.source}</maven.compiler.target>
 
@@ -173,7 +173,7 @@
             <dependency>
                 <groupId>org.apache.sling</groupId>
                 <artifactId>org.apache.sling.commons.messaging.mail</artifactId>
-                <version>1.0.0</version>
+                <version>2.0.0</version>
                 <scope>provided</scope>
             </dependency>
             <dependency>
@@ -269,6 +269,18 @@
                 <scope>provided</scope>
             </dependency>
             <dependency>
+                <groupId>jakarta.activation</groupId>
+                <artifactId>jakarta.activation-api</artifactId>
+                <version>2.0.1</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>jakarta.mail</groupId>
+                <artifactId>jakarta.mail-api</artifactId>
+                <version>2.0.1</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
                 <groupId>com.sun.mail</groupId>
                 <artifactId>javax.mail</artifactId>
                 <version>1.6.2</version>
diff --git a/reference/pom.xml b/reference/pom.xml
index 9836ff2..c58a27e 100644
--- a/reference/pom.xml
+++ b/reference/pom.xml
@@ -139,9 +139,18 @@
             <artifactId>org.apache.sling.event.api</artifactId>
         </dependency>
         <dependency>
+            <groupId>jakarta.activation</groupId>
+            <artifactId>jakarta.activation-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.sun.mail</groupId>
             <artifactId>javax.mail</artifactId>
         </dependency>
+        
         <dependency>
             <groupId>org.jetbrains</groupId>
             <artifactId>annotations</artifactId>
diff --git a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/SendEmailAction.java b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/SendEmailAction.java
index 3a40c11..4d7fecb 100644
--- a/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/SendEmailAction.java
+++ b/reference/src/main/java/org/apache/sling/cms/reference/forms/impl/actions/SendEmailAction.java
@@ -16,8 +16,8 @@
  */
 package org.apache.sling.cms.reference.forms.impl.actions;
 
-import javax.mail.MessagingException;
-import javax.mail.internet.MimeMessage;
+import jakarta.mail.MessagingException;
+import jakarta.mail.internet.MimeMessage;
 
 import org.apache.commons.text.StringSubstitutor;
 import org.apache.sling.api.resource.Resource;
diff --git a/reference/src/test/java/org/apache/sling/cms/reference/forms/impl/MockMessageBuilder.java b/reference/src/test/java/org/apache/sling/cms/reference/forms/impl/MockMessageBuilder.java
index f80c497..fa5aab8 100644
--- a/reference/src/test/java/org/apache/sling/cms/reference/forms/impl/MockMessageBuilder.java
+++ b/reference/src/test/java/org/apache/sling/cms/reference/forms/impl/MockMessageBuilder.java
@@ -16,12 +16,14 @@
  */
 package org.apache.sling.cms.reference.forms.impl;
 
-import javax.mail.Header;
-import javax.mail.MessagingException;
-import javax.mail.internet.AddressException;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.InternetHeaders;
-import javax.mail.internet.MimeMessage;
+import jakarta.mail.Header;
+import jakarta.mail.MessagingException;
+import jakarta.mail.internet.AddressException;
+import jakarta.mail.internet.InternetAddress;
+import jakarta.mail.internet.InternetHeaders;
+import jakarta.mail.internet.MimeMessage;
+
+import java.util.Collection;
 
 import org.apache.sling.commons.messaging.mail.MessageBuilder;
 import org.jetbrains.annotations.NotNull;
@@ -73,12 +75,6 @@
 
     @Override
     public @NotNull MessageBuilder inline(@NotNull final byte[] content, @NotNull final String type,
-            @NotNull final String cid, @Nullable final Header[] headers) {
-        return this;
-    }
-
-    @Override
-    public @NotNull MessageBuilder inline(@NotNull final byte[] content, @NotNull final String type,
             @NotNull final String cid) {
         return this;
     }
@@ -89,11 +85,6 @@
     }
 
     @Override
-    public @NotNull MessageBuilder headers(@NotNull final InternetHeaders headers) {
-        return this;
-    }
-
-    @Override
     public @NotNull MessageBuilder header(@NotNull final String name, @Nullable final String value) {
         return this;
     }
@@ -152,14 +143,85 @@
 
     @Override
     public @NotNull MessageBuilder attachment(@NotNull final byte[] content, @NotNull final String type,
-            @NotNull final String filename, @Nullable final Header[] headers) {
+            @NotNull final String filename) {
         return this;
     }
 
     @Override
-    public @NotNull MessageBuilder attachment(@NotNull final byte[] content, @NotNull final String type,
-            @NotNull final String filename) {
-        return this;
+    public @NotNull MessageBuilder headers(@NotNull Collection<Header> headers) {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder to(@NotNull InternetAddress[] addresses) {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder to(@NotNull String[] addresses) throws AddressException {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder to(@NotNull Collection<String> addresses) throws AddressException {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder cc(@NotNull InternetAddress[] addresses) {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder cc(@NotNull String[] addresses) throws AddressException {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder cc(@NotNull Collection<String> addresses) throws AddressException {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder bcc(@NotNull InternetAddress[] addresses) {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder bcc(@NotNull String[] addresses) throws AddressException {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder bcc(@NotNull Collection<String> addresses) throws AddressException {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder replyTo(@NotNull InternetAddress[] addresses) {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder replyTo(@NotNull String[] addresses) throws AddressException {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder replyTo(@NotNull Collection<String> addresses) throws AddressException {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder attachment(byte @NotNull [] content, @NotNull String type, @NotNull String filename,
+            @Nullable Collection<Header> headers) {
+        return null;
+    }
+
+    @Override
+    public @NotNull MessageBuilder inline(byte @NotNull [] content, @NotNull String type, @NotNull String cid,
+            @Nullable Collection<Header> headers) {
+        return null;
     }
 
 }
\ No newline at end of file