diff --git a/send_emails.module b/send_emails.module
index 742fa37..76903d8 100644
--- a/send_emails.module
+++ b/send_emails.module
@@ -1,5 +1,8 @@
 <?php
 
+use Drupal\Core\Hook\Attribute\LegacyHook;
+use Drupal\send_emails\Hook\SendEmailsHooks;
+
 /**
  * @file
  * send_emails.module
@@ -8,18 +11,14 @@
 /**
  * Implements hook_mail() for mailing.
  */
+#[LegacyHook]
 function send_emails_mail($key, &$message, $params) {
 
-  if (_is_a_send_emails_email($key)) {
-    $message['subject'] = $params['message']['subject'];
-    $message['body'] = array_merge($message['body'], $params['message']['body']);
-    $message['headers'] = $params['message']['headers'];
-    $message['params'] = $params['message']['params'] + $params;
-  }
+  \Drupal::service(SendEmailsHooks::class)->mail($key, $message, $params);
 
 }
 
 function _is_a_send_emails_email(string $key) {
   $prefix = 'send_emails.template.';
   return str_starts_with($key, $prefix);
-}
\ No newline at end of file
+}
diff --git a/send_emails.services.yml b/send_emails.services.yml
index cb0f9d9..3eee882 100644
--- a/send_emails.services.yml
+++ b/send_emails.services.yml
@@ -6,3 +6,7 @@ services:
                 "@messenger", "@current_user", "@renderer",
                 "@url_generator", "@module_handler",
                 "@config.factory", "@logger.factory",]
+
+  Drupal\send_emails\Hook\SendEmailsHooks:
+    class: Drupal\send_emails\Hook\SendEmailsHooks
+    autowire: true
diff --git a/src/EmailApi.php b/src/EmailApi.php
index 2b5c9c5..fe07868 100644
--- a/src/EmailApi.php
+++ b/src/EmailApi.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\send_emails;
 
+use Psr\Log\LoggerInterface;
+use Drupal\Component\Utility\DeprecationHelper;
 use Drupal\Component\Datetime\TimeInterface;
 use Drupal\Core\Url;
 // For vertification.
@@ -42,7 +44,7 @@ class EmailApi {
   /**
    * Logger for this service
    */
-  protected readonly \Psr\Log\LoggerInterface $logger;
+  protected readonly LoggerInterface $logger;
 
   /**
    * The TWIG template to override the email body with
@@ -455,7 +457,7 @@ class EmailApi {
       '#context' => $data,
     ];
 
-    return $this->renderer->renderPlain($render);
+    return DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '10.3.0', fn() => $this->renderer->renderInIsolation($render), fn() => $this->renderer->renderPlain($render));
   }
 
   /**
@@ -485,7 +487,7 @@ class EmailApi {
       '#context' => $data,
     ];
 
-    return $this->renderer->renderPlain($render);
+    return DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '10.3.0', fn() => $this->renderer->renderInIsolation($render), fn() => $this->renderer->renderPlain($render));
   }
 
   /**
diff --git a/src/Hook/SendEmailsHooks.php b/src/Hook/SendEmailsHooks.php
new file mode 100644
index 0000000..33b910e
--- /dev/null
+++ b/src/Hook/SendEmailsHooks.php
@@ -0,0 +1,28 @@
+<?php
+
+namespace Drupal\send_emails\Hook;
+
+use Drupal\Core\Hook\Attribute\Hook;
+/**
+ * Hook implementations for send_emails.
+ */
+class SendEmailsHooks
+{
+    /**
+     * @file
+     * send_emails.module
+     */
+    /**
+     * Implements hook_mail() for mailing.
+     */
+    #[Hook('mail')]
+    public function mail($key, &$message, $params)
+    {
+        if (_is_a_send_emails_email($key)) {
+            $message['subject'] = $params['message']['subject'];
+            $message['body'] = array_merge($message['body'], $params['message']['body']);
+            $message['headers'] = $params['message']['headers'];
+            $message['params'] = $params['message']['params'] + $params;
+        }
+    }
+}
