diff --git a/src/UnicaenMail/Exception/NotFoundConfigException.php b/src/UnicaenMail/Exception/NotFoundConfigException.php
new file mode 100644
index 0000000000000000000000000000000000000000..3c343a1c99511a6cb49f3a349c694cbae4bf59f6
--- /dev/null
+++ b/src/UnicaenMail/Exception/NotFoundConfigException.php
@@ -0,0 +1,7 @@
+<?php
+
+namespace UnicaenMail\Exception;
+
+use Exception;
+
+class NotFoundConfigException extends Exception {}
\ No newline at end of file
diff --git a/src/UnicaenMail/Service/Mail/MailService.php b/src/UnicaenMail/Service/Mail/MailService.php
index 7b020fa6f03c8c6ae6cded08c15024acec910f63..21e90df2f7b4077eebc328051477554e70d2f6e9 100644
--- a/src/UnicaenMail/Service/Mail/MailService.php
+++ b/src/UnicaenMail/Service/Mail/MailService.php
@@ -16,6 +16,7 @@ use Laminas\Mime\Message as MimeMessage;
 use Laminas\Mime\Mime;
 use Laminas\Mime\Part;
 use Laminas\Mvc\Controller\AbstractActionController;
+use UnicaenMail\Exception\NotFoundConfigException;
 
 /**
  * @property EntityManager $objectManager
@@ -48,45 +49,10 @@ class MailService {
     }
 
     private ?TransportInterface $transport;
-    private array $redirectTo;
-    private bool $doNotSend;
 
-    /** information sur l'expediteur */
-    private ?string $fromName;
-    private ?string $fromEmail;
-    private ?string $subjectPrefix;
-
-    public function __construct(TransportInterface $transport, $redirectTo, $doNotSend, $fromName, $fromEmail, $subjectPrefix)
+    public function __construct(TransportInterface $transport)
     {
         $this->transport = $transport;
-        $this->redirectTo = $redirectTo;
-        $this->doNotSend = $doNotSend;
-        $this->fromName=$fromName;
-        $this->fromEmail=$fromEmail;
-        $this->subjectPrefix=$subjectPrefix;
-    }
-
-    public function setRedirectTo(?array $redirectTo): void
-    {
-        $this->redirectTo = $redirectTo;
-    }
-
-    public function setDoNotSend(bool $doNotSend): void
-    {
-        $this->doNotSend = $doNotSend;
-    }
-
-    public function setFromName(?string $fromName): void
-    {
-        $this->fromName = $fromName;
-    }
-    public function setFromEmail(?string $fromEmail): void
-    {
-        $this->fromEmail = $fromEmail;
-    }
-    public function setSubjectPrefix(?string $subjectPrefix): void
-    {
-        $this->subjectPrefix = $subjectPrefix;
     }
 
     /** GESTION DES ENTITES *******************************************************************************************/
@@ -162,7 +128,7 @@ class MailService {
         try {
             $result = $qb->getQuery()->getOneOrNullResult();
         } catch (NonUniqueResultException $e) {
-            throw new RuntimeException("Plusieurs Mail partagent le même id [".$id."]");
+            throw new RuntimeException("Plusieurs Mail partagent le même id [".$id."]",0,$e);
         }
         return $result;
     }
@@ -177,15 +143,32 @@ class MailService {
     /** FACADE ********************************************************************************************************/
 
     /**
-     * @param $to
-     * @param $subject
-     * @param $texte
-     * @param string $module
-     * @param null $attachement_path
-     * @return Mail
+     * @throws NotFoundConfigException
+     */
+    public function fetchValueFromConfig(string $key, ?string $module = null)
+    {
+        $value = ($module)?$this->config['module'][$module][$key]:null;
+        if ($value === null) $value = $this->config['default'][$key];
+        if ($value === null) $value = $this->config[$key];
+
+        if ($value === null) {
+            throw new NotFoundConfigException("Aucun valeur de trouver dans la configuration de UnicaenMail pour la clef [".$key."]");
+        }
+        return $value;
+    }
+
+    /**
+     * @throws NotFoundConfigException
      */
     public function sendMail($to, $subject, $texte, ?string $module = null, $attachement_path = null) : Mail
     {
+        $fromEmail = $this->fetchValueFromConfig('from_email', $module);
+        $fromName = $this->fetchValueFromConfig('from_name', $module);
+        $doNotSend = $this->fetchValueFromConfig('do_not_send', $module);
+        $redirectTo = $this->fetchValueFromConfig('redirect_to', $module);
+        $subjectPrefix = $this->fetchValueFromConfig('subject_prefix', $module);
+
+
         if (is_string($to)) $to=explode(',', $to);
         if (!is_array($to)) $to = [$to];
 
@@ -194,21 +177,16 @@ class MailService {
         $mail->setDateEnvoi(new DateTime());
         $mail->setStatusEnvoi(Mail::PENDING);
         $mail->setDestinataires(is_array($to) ? implode(",", $to) : $to);
-        $initialTo = $to;
-        if ($this->doNotSend) {
+        if ($doNotSend) {
             $mail->setDestinatairesInitials(implode(",",$to));
-            $mail->setDestinataires(implode(",",$this->redirectTo));
-            $to = $this->redirectTo;
+            $mail->setDestinataires(implode(",", $redirectTo));
         } else {
             $mail->setDestinataires(implode(",",$to));
         }
         $mail->setSujet($subject);
 
-        $fromEmail = ($module)?$this->config['module'][$module]['from_email']:$this->config['default']['from_email'];
-        $fromName = ($module)?$this->config['module'][$module]['from_name']:$this->config['default']['from_name'];
-        $doNotSend = ($module)?$this->config['module'][$module]['do_not_send']:$this->config['default']['do_not_send'];
 
-        $sujet = '['.$this->subjectPrefix.'] ' . $subject;
+        $sujet = '['.$subjectPrefix.'] ' . $subject;
         if ($doNotSend) {
             $sujet .= ' {REDIR}';
         }
@@ -218,7 +196,7 @@ class MailService {
         $message->setFrom($fromEmail, $fromName);
         $message->setTo($to);
         $message->setSubject($sujet);
-        $texte = "<p><i>Ce courrier électronique vous a été adressé <strong>automatiquement</strong> par l'application ".$this->subjectPrefix.". </i></p>" . $texte;
+        $texte = "<p><i>Ce courrier électronique vous a été adressé <strong>automatiquement</strong> par l'application ".$subjectPrefix.". </i></p>" . $texte;
         $mail->setCorps($texte);
         $this->create($mail);
 
@@ -254,7 +232,12 @@ class MailService {
         $body->setParts($parts);
         $message->setBody($body);
 
-        die();
+//        var_dump($fromEmail);
+//        var_dump($fromName);
+//        var_dump($doNotSend);
+//        var_dump($redirectTo);
+//        var_dump($subjectPrefix);
+//        die();
         $this->transport->send($message);
 
         $mail->setStatusEnvoi(Mail::SUCCESS);
@@ -263,6 +246,7 @@ class MailService {
         return $mail;
     }
 
+    /** TODO : Le reenvoi ne tient pas compte du module ... */
     public function reenvoi(Mail $mail) : Mail
     {
         //todo les pieces jointes