diff --git a/dynamicweb/settings/base.py b/dynamicweb/settings/base.py
index 7d62ceb5..d0d0fd6c 100644
--- a/dynamicweb/settings/base.py
+++ b/dynamicweb/settings/base.py
@@ -11,6 +11,7 @@ import os
 # dotenv
 import dotenv
 from django.utils.translation import ugettext_lazy as _
+from utils.log_filters import skip_suspicious_operations
 
 logger = logging.getLogger(__name__)
 
@@ -691,11 +692,31 @@ if ENABLE_LOGGING:
         }
     }
     handlers_dict.update(custom_handler_item)
+
+    # Skip emails for Disallowed Hosts errors
+    # https://redmine.ungleich.ch/issues/6060
+
+    skip_suspicious_operations_handler = {
+        'mail_admins': {
+            'level': 'ERROR',
+            'filters': ['skip_suspicious_operations'],
+            'include_html' : True,
+        }
+    }
+
+    handlers_dict.update(skip_suspicious_operations_handler)
+
     LOGGING = {
         'version': 1,
         'disable_existing_loggers': False,
         'handlers': handlers_dict,
-        'loggers': loggers_dict
+        'loggers': loggers_dict,
+        'filters': {
+            'skip_suspicious_operations': { 
+                '()': 'django.utils.log.CallbackFilter',
+                'callback': skip_suspicious_operations,
+            }
+        }
     }
 
 TEST_MANAGE_SSH_KEY_PUBKEY = env('TEST_MANAGE_SSH_KEY_PUBKEY')
diff --git a/utils/log_filters.py b/utils/log_filters.py
new file mode 100644
index 00000000..f17e497c
--- /dev/null
+++ b/utils/log_filters.py
@@ -0,0 +1,4 @@
+def skip_suspicious_operations(record):
+    if record.name == 'django.security.DisallowedHost':
+        return False
+    return True
\ No newline at end of file