diff --git a/docker-compose.yml b/docker-compose.yml
index 74d3aab22531f49bdc0f4c868ccb542817a6cabf..1cadef7b8e19bae4ae297db1e18eacaaa30b3555 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -12,6 +12,8 @@ services:
       - PLATEFORM_DATA_EMAIL=${DEV_PLATEFORM_DATA_EMAIL}
       - RABBITMQ_USER=${DEV_RABBITMQ_USER}
       - RABBITMQ_PASSWORD=${DEV_RABBITMQ_PASSWORD}
+      - GROUP_HEADER='x-consumer-groups'
+      - EMAIL_WRITER_GROUP_NAME='email-writer'
     restart: unless-stopped
   rabbitmq:
     image: 'rabbitmq:3-management-alpine'
diff --git a/src/app.module.ts b/src/app.module.ts
index a7e95e2a831407c03d73b949e7e7fab3a8f1a9cc..a3f2fd39e13972cff04e4429622f6982fd5a8fd8 100644
--- a/src/app.module.ts
+++ b/src/app.module.ts
@@ -1,7 +1,7 @@
 import { Module, MiddlewareConsumer, RequestMethod } from '@nestjs/common';
 import { EmailModule } from './email/email.module';
 import { ConfigModule } from './configuration/config.module';
-import { microserviceMiddleware } from './middlewares/microservice.middleware';
+import { EmailWriterMiddleware } from './middlewares/email-writer.middleware';
 
 @Module({
   imports: [ConfigModule, EmailModule],
@@ -10,9 +10,10 @@ import { microserviceMiddleware } from './middlewares/microservice.middleware';
 })
 export class AppModule {
   configure(consumer: MiddlewareConsumer) {
-    // Applying the middleware that takes the Authorization header jwt payload and put it in the request headers
+    // Applying the middleware that verify if there is the right group in header
+    // and takes the Authorization header jwt payload and put it in the request headers
     consumer
-      .apply(microserviceMiddleware).forRoutes(
+      .apply(EmailWriterMiddleware).forRoutes(
         { path: 'email/send', method: RequestMethod.POST },
       );
   }
diff --git a/src/configuration/config.service.ts b/src/configuration/config.service.ts
index f08c79f3b05f0347ec1d5e37c9f3002a1f091c2b..529e8bd2d691382cff9f3e4455660959b82b0bd7 100644
--- a/src/configuration/config.service.ts
+++ b/src/configuration/config.service.ts
@@ -21,6 +21,8 @@ export class ConfigService {
     this._config.rabbitMQ.user = process.env.RABBITMQ_USER;
     this._config.rabbitMQ.password = process.env.RABBITMQ_PASSWORD;
     this._config.plateformDataEmail = process.env.PLATEFORM_DATA_EMAIL;
+    this._config.emailWriterGroupName = process.env.EMAIL_WRITER_GROUP_NAME;
+    this._config.groupHeader = process.env.GROUP_HEADER;
   }
 
   get config() {
diff --git a/src/configuration/config.ts b/src/configuration/config.ts
index e6575240a5fada95160a73c3780cd692cb7a9dfb..3cd92a1e8b1c031b713a43af65218dbea624cc03 100644
--- a/src/configuration/config.ts
+++ b/src/configuration/config.ts
@@ -8,4 +8,6 @@ export const config = {
   mailerQueue: 'portail-data-send-email',
   plateformDataEmail: '',
   imageHost: 'https://highway-to-data.alpha.grandlyon.com/email-template-assets',
+  emailWriterGroupName: '',
+  groupHeader: '',
 };
\ No newline at end of file
diff --git a/src/middlewares/email-writer.middleware.ts b/src/middlewares/email-writer.middleware.ts
new file mode 100644
index 0000000000000000000000000000000000000000..1e2c6d364cfb0d75380e75c114476ff9a86767c7
--- /dev/null
+++ b/src/middlewares/email-writer.middleware.ts
@@ -0,0 +1,29 @@
+import { Logger, ForbiddenException, NestMiddleware, Injectable, UnauthorizedException } from '@nestjs/common';
+import { ConfigService } from 'configuration/config.service';
+
+@Injectable()
+export class EmailWriterMiddleware implements NestMiddleware {
+
+  constructor(private configService: ConfigService) {
+  }
+
+  resolve() {
+    return (req, res, next) => {
+      Logger.log('[-] Untokenise middleware called');
+
+      const groupHeaderName = this.configService.config.groupHeader;
+      if (req.headers[groupHeaderName]) {
+        let arr = req.headers[groupHeaderName].split(',');
+        arr = arr.map(e => e.trim());
+        const group = arr.find(e => e === this.configService.config.emailWriterGroupName);
+        if (group === undefined) {
+          throw new ForbiddenException('You can\'t access this ressource.');
+        } else {
+          next();
+        }
+      } else {
+        throw new UnauthorizedException('You can\'t access this ressource.');
+      }
+    };
+  }
+}
\ No newline at end of file
diff --git a/src/middlewares/microservice.middleware.ts b/src/middlewares/microservice.middleware.ts
deleted file mode 100644
index 6000a0c5123a5692576d933700587143a65b9e92..0000000000000000000000000000000000000000
--- a/src/middlewares/microservice.middleware.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Logger, ForbiddenException } from '@nestjs/common';
-
-export function microserviceMiddleware(req, res, next) {
-  Logger.log('[-] Untokenise middleware called');
-  if (req.headers['x-consumer-groups']) {
-    let arr = req.headers['x-consumer-groups'].split(',');
-    arr = arr.map(e => e.trim());
-    const group = arr.find(e => e === 'microservice');
-    if (group === undefined) {
-      throw new ForbiddenException('You can\'t access this ressource.');
-    } else {
-      next();
-    }
-  } else {
-    throw new ForbiddenException('You can\'t access this ressource.');
-  }
-}
\ No newline at end of file