diff --git a/src/app/email/controllers/EmailController.php b/src/app/email/controllers/EmailController.php
index cc070855f0daf1eb3a893b1c31daf6876aadfd0d..a22276c6bacc168c8d59e58092964b70a523fa0b 100644
--- a/src/app/email/controllers/EmailController.php
+++ b/src/app/email/controllers/EmailController.php
@@ -329,4 +329,39 @@ class EmailController
 
         return ['success' => 'success'];
     }
+
+    public static function deleteEmail(array $args)
+    {
+        ValidatorModel::notEmpty($args, ['userId', 'id']);
+        ValidatorModel::intVal($args, ['userId', 'id']);
+
+        $user = UserModel::getByLogin(['login' => $GLOBALS['userId'], 'select' => ['id']]);
+        if (empty($user)) {
+            return ['errors' => 'user not found'];
+        }
+
+        $email = EmailModel::getById(['select' => ['id', 'user_id'], 'id' => $args['id']]);
+        if (empty($email)) {
+            return ['errors' => 'email not found'];
+        }
+
+        if ($email['user_id'] != $user['id']) {
+            return ['errors' => 'email out of perimeter'];
+        }
+        
+        EmailModel::delete([
+            'where' => ['id = ?'],
+            'data'  => [$args['id']]
+        ]);
+
+        HistoryController::add([
+            'tableName'    => 'emails',
+            'recordId'     => $args['id'],
+            'eventType'    => 'DEL',
+            'eventId'      => 'emailDeletion',
+            'info'         => _EMAIL_REMOVED
+        ]);
+
+        return ['success' => 'email deleted'];
+    }
 }
diff --git a/src/app/email/models/EmailModel.php b/src/app/email/models/EmailModel.php
index d3dedc6c06ab0787cae483cc66d9546981c7d2e5..46d8bcfead03da464ab4c36a406eb1e139ea9143 100644
--- a/src/app/email/models/EmailModel.php
+++ b/src/app/email/models/EmailModel.php
@@ -83,4 +83,18 @@ class EmailModel
 
         return true;
     }
+
+    public static function delete(array $aArgs)
+    {
+        ValidatorModel::notEmpty($aArgs, ['where', 'data']);
+        ValidatorModel::arrayType($aArgs, ['where', 'data']);
+
+        DatabaseModel::delete([
+            'table' => 'emails',
+            'where' => $aArgs['where'],
+            'data'  => $aArgs['data']
+        ]);
+
+        return true;
+    }
 }
diff --git a/src/core/lang/lang-en.php b/src/core/lang/lang-en.php
index e931c745074a74b6d04699dcbb8d01b6fe3029bb..0a95b4f86f4e145722431c81b451f1b14956475b 100755
--- a/src/core/lang/lang-en.php
+++ b/src/core/lang/lang-en.php
@@ -54,6 +54,7 @@ define('_DOCTYPE_SECONDLEVEL_UPDATED', 'Doctype second level edited');
 define('_DOCUMENT_NOT_FOUND', 'Document not found');
 define('_DOCUMENT_OUT_PERIMETER', 'Document out of perimeter');
 define('_EMAIL_ADDED', 'Email added');
+define('_EMAIL_REMOVED', 'Email removed');
 define('_ENTITY_CREATION', 'Entity creation');
 define('_ENTITY_MODIFICATION', 'Entity modification');
 define('_ENTITY_SUPPRESSION', 'Entity suppression');
diff --git a/src/core/lang/lang-fr.php b/src/core/lang/lang-fr.php
index 502bb9a876f4e850d0f488b9a04dc29e1baadeb0..48eede03e8f2c5620a394dd2e4f10bfce3568246 100755
--- a/src/core/lang/lang-fr.php
+++ b/src/core/lang/lang-fr.php
@@ -54,6 +54,7 @@ define('_DOCTYPE_SECONDLEVEL_UPDATED', 'Sous-chemise modifiée');
 define('_DOCUMENT_NOT_FOUND', 'Document introuvable');
 define('_DOCUMENT_OUT_PERIMETER', 'Document en dehors du périmètre');
 define('_EMAIL_ADDED', 'Courriel ajouté');
+define('_EMAIL_REMOVED', 'Courriel supprimé');
 define('_ENTITY_CREATION', 'Création entité');
 define('_ENTITY_MODIFICATION', 'Modification entité');
 define('_ENTITY_SUPPRESSION', 'Suppression entité');
diff --git a/src/core/lang/lang-nl.php b/src/core/lang/lang-nl.php
index 4b4b6e952be490064f120e9118dabcf835c12360..1290d29ae31d5694728e0ecefa02747b897aebc1 100644
--- a/src/core/lang/lang-nl.php
+++ b/src/core/lang/lang-nl.php
@@ -44,6 +44,7 @@ define('_DOCTYPE_SECONDLEVEL_UPDATED', 'Submap gewijzigd');
 define('_DOCUMENT_NOT_FOUND', 'Document onvindbaar');
 define('_DOCUMENT_OUT_PERIMETER', 'Document buiten de omtrek'); //_TO_TRANSLATE
 define('_EMAIL_ADDED', 'TO_TRANSLATE : Email added');
+define('_EMAIL_REMOVED', 'E-mail verwijderd');
 define('_ENTITY_CREATION', 'Aanmaak eenheid');
 define('_ENTITY_MODIFICATION', 'Wijziging eenheid');
 define('_ENTITY_SUPPRESSION', 'Verwijdering eenheid');