diff --git a/src/app/email/controllers/EmailController.php b/src/app/email/controllers/EmailController.php
index 426ff50a25967d287cda138bec28680fdae5f4d8..13e397dc2ade00adf80d28e2e300b0cc3e473a15 100644
--- a/src/app/email/controllers/EmailController.php
+++ b/src/app/email/controllers/EmailController.php
@@ -46,11 +46,6 @@ use User\models\UserModel;
 
 class EmailController
 {
-    private const SMTP_ERRORS_SENDER_REJECTED = [
-        'Client does not have permissions to send as this sender',
-        'Sender address rejected'
-    ];
-
     public function send(Request $request, Response $response)
     {
         if (!PrivilegeController::hasPrivilege(['privilegeId' => 'sendmail', 'userId' => $GLOBALS['id']])) {
@@ -80,6 +75,17 @@ class EmailController
             return ['errors' => $check['errors'], 'code' => $check['code']];
         }
 
+        $configuration = ConfigurationModel::getByPrivilege(['privilege' => 'admin_email_server', 'select' => ['value']]);
+        $configuration = json_decode($configuration['value'], true);
+        if (empty($configuration)) {
+            return ['errors' => 'Configuration is missing'];
+        }
+
+        if (!empty($configuration['useSMTPAuth'])) {
+            $args['data']['sender']['email'] = $configuration['from'];
+        }
+
+
         $id = EmailModel::create([
             'userId'                => $args['userId'],
             'sender'                => empty($args['data']['sender']) ? '{}' : json_encode($args['data']['sender']),
@@ -121,12 +127,18 @@ class EmailController
                 exec("php src/app/email/scripts/sendEmail.php {$customId} {$id} {$args['userId']} '{$encryptKey}' '{$options}' > /dev/null &");
             }
             if (!empty($isSent)) {
+                $info = _EMAIL_ADDED ;
+                
+                if (!empty($configuration['useSMTPAuth'])) {
+                    $info .= ' : ' . _SENDER_EMAIL_REPLACED_SMTP_SENDER;
+                }
+
                 HistoryController::add([
                     'tableName' => 'emails',
                     'recordId'  => $id,
                     'eventType' => 'ADD',
                     'eventId'   => 'emailCreation',
-                    'info'      => _EMAIL_ADDED
+                    'info'      => $info
                 ]);
 
                 if (!empty($args['data']['document']['id'])) {
@@ -135,7 +147,7 @@ class EmailController
                         'recordId'  => $args['data']['document']['id'],
                         'eventType' => 'ADD',
                         'eventId'   => 'emailCreation',
-                        'info'      => _EMAIL_ADDED
+                        'info'      => $info
                     ]);
                 }
             }
@@ -289,6 +301,17 @@ class EmailController
             return $response->withStatus($check['code'])->withJson(['errors' => $check['errors']]);
         }
 
+        $configuration = ConfigurationModel::getByPrivilege(['privilege' => 'admin_email_server', 'select' => ['value']]);
+        $configuration = json_decode($configuration['value'], true);
+        if (empty($configuration)) {
+            return ['errors' => 'Configuration is missing'];
+        }
+
+        if (!empty($configuration['useSMTPAuth'])) {
+            $body['sender']['email'] = $configuration['from'];
+        }
+
+
         EmailModel::update([
             'set' => [
                 'sender'      => empty($body['sender']) ? '{}' : json_encode($body['sender']),
@@ -331,12 +354,18 @@ class EmailController
                 ]);
             }
         } else {
+            $info = _EMAIL_UPDATED ;
+            
+            if (!empty($configuration['useSMTPAuth'])) {
+                $info .= ' : ' . _SENDER_EMAIL_REPLACED_SMTP_SENDER;
+            }
+
             HistoryController::add([
                 'tableName'    => 'emails',
                 'recordId'     => $args['id'],
                 'eventType'    => 'UP',
                 'eventId'      => 'emailModification',
-                'info'         => _EMAIL_UPDATED
+                'info'         => $info
             ]);
 
             if (!empty($args['data']['document']['id'])) {
@@ -345,7 +374,7 @@ class EmailController
                     'recordId'  => $args['data']['document']['id'],
                     'eventType' => 'UP',
                     'eventId'   => 'emailModification',
-                    'info'      => _EMAIL_UPDATED
+                    'info'      => $info
                 ]);
             }
         }
@@ -759,26 +788,6 @@ class EmailController
 
             $errors = !empty($history[0]['info']) ? $history[0]['info'] : $phpmailer->ErrorInfo;
 
-            // If we cannot override from with the sender email address, we try sending the email with the from in the configuration
-            if ($email['sender']['email'] != $configuration['from']) {
-                $tryWithConfigFrom = false;
-                foreach (EmailController::SMTP_ERRORS_SENDER_REJECTED as $errorCandidate) {
-                    if (stripos($errors, $errorCandidate) !== false) {
-                        $tryWithConfigFrom = true;
-                        break;
-                    }
-                }
-                if ($tryWithConfigFrom) {
-                    $sender = [
-                        'email'    => $configuration['from'],
-                        'entityId' => $email['sender']['entityId'] ?? null
-                    ];
-                    EmailModel::update(['set' => ['sender' => json_encode($sender)], 'where' => ['id = ?'], 'data' => [$args['emailId']]]);
-
-                    return EmailController::sendEmail(['emailId' => $args['emailId'], 'userId' => $args['userId']]);
-                }
-            }
-
             return ['errors' => $errors];
         }
 
diff --git a/src/core/lang/lang-en.php b/src/core/lang/lang-en.php
index 48980dab8f110106381d5ef5047d195963cb1f34..43ec67b24bad2693601dd43dffabdee7e3f4b807 100755
--- a/src/core/lang/lang-en.php
+++ b/src/core/lang/lang-en.php
@@ -58,6 +58,7 @@ define('_DOCUMENT_OUT_PERIMETER', 'Document out of perimeter');
 define('_EMAIL_ADDED', 'Email added');
 define('_EMAIL_REMOVED', 'Email removed');
 define('_EMAIL_UPDATED', 'Email updated');
+define('_SENDER_EMAIL_REPLACED_SMTP_SENDER', "The sender's email is replaced by the SMTP sender");
 define('_ENTITY_CREATION', 'Entity created');
 define('_ENTITY_MODIFICATION', 'Entity modification');
 define('_ENTITY_SUPPRESSION', 'Entity deleted');
diff --git a/src/core/lang/lang-fr.php b/src/core/lang/lang-fr.php
index d51abc74ea6d34f0d09fcee450d7712e0bec89b1..3e0e54114dba1af4f183619d8ad8b35d03e4cc31 100755
--- a/src/core/lang/lang-fr.php
+++ b/src/core/lang/lang-fr.php
@@ -58,6 +58,7 @@ define('_DOCUMENT_OUT_PERIMETER', 'Courrier en dehors du périmètre');
 define('_EMAIL_ADDED', 'Courriel ajouté');
 define('_EMAIL_REMOVED', 'Courriel supprimé');
 define('_EMAIL_UPDATED', 'Courriel mis à jour');
+define('_SENDER_EMAIL_REPLACED_SMTP_SENDER', "L'email de l'expéditeur est remplacé par l'expéditeur SMTP");
 define('_ENTITY_CREATION', 'Création entité');
 define('_ENTITY_MODIFICATION', 'Modification entité');
 define('_ENTITY_SUPPRESSION', 'Suppression entité');