From 6db030a0e396cc6239e2c92978c4e0f3324f5543 Mon Sep 17 00:00:00 2001
From: Thibault Dockx <thibault.dockx@fusiondirectory.org>
Date: Thu, 29 Aug 2024 16:31:18 +0100
Subject: [PATCH] :sparkles: Feat(Integrator) - mailLib replacing mailControler
 in orchestrator

New library mailLib allowing orchestrator to send mail.
---
 src/FusionDirectory/Mail/MailLib.php | 6 ++++--
 src/autoloader.php                   | 6 ++++++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/FusionDirectory/Mail/MailLib.php b/src/FusionDirectory/Mail/MailLib.php
index af42adf..e25450b 100644
--- a/src/FusionDirectory/Mail/MailLib.php
+++ b/src/FusionDirectory/Mail/MailLib.php
@@ -1,10 +1,12 @@
 <?php
 
+namespace FusionDirectory\Mail;
+
 use PHPMailer\PHPMailer\PHPMailer;
 use PHPMailer\PHPMailer\SMTP;
 use PHPMailer\PHPMailer\Exception;
 
-class MailController
+class MailLib
 {
 
   protected string  $setFrom;
@@ -100,7 +102,7 @@ class MailController
       try {
         $this->mail->send();
 
-      } catch (Exception $e) {
+      } catch (\Exception $e) {
         $errors[] = $this->mail->ErrorInfo;
 
       }
diff --git a/src/autoloader.php b/src/autoloader.php
index 97f858f..c291451 100644
--- a/src/autoloader.php
+++ b/src/autoloader.php
@@ -10,6 +10,12 @@ spl_autoload_register(function ($class) {
   // Simple array to keep track of which classes have already been loaded.
   static $classes = [];
 
+  if (strpos($class, 'PHPMailer') !== FALSE) {
+    require_once("/usr/share/php/libphp-phpmailer/src/Exception.php");
+    require_once("/usr/share/php/libphp-phpmailer/src/PHPMailer.php");
+    require_once("/usr/share/php/libphp-phpmailer/src/SMTP.php");
+  }
+
   // Avoids re-loading classes that have already been loaded.
   if (array_key_exists($class, $classes)) {
     return;
-- 
GitLab