diff --git a/utils/proxy.py b/utils/proxy.py
index bc0b99dbbc2121f414a45a9d93880b8cef70e3e8..48fb4a392efb76052e23608e10f745f2f9b97852 100644
--- a/utils/proxy.py
+++ b/utils/proxy.py
@@ -31,6 +31,7 @@ from .portrange import parse_portrange
 import traceback
 from ipaddress import ip_network
 from .flowspec_utils import map__ip_proto__for__ip_version__to_flowspec
+from flowspec.helpers import handle_admin_error_mail
 #import xml.etree.ElementTree as ET
 
 import flowspec.logging_utils
@@ -327,15 +328,18 @@ class Applier(object):
                     except SoftTimeLimitExceeded:
                         cause="Task timeout"
                         logger.error(cause)
+                        handle_admin_error_mail("NETCONF Error: SoftTimeLimitExceeded Error during edit_config operation", "exception="+str(e)+"\nfor NETCONF configuration="+str(configuration))
                         return False, cause
                     except TimeLimitExceeded:
                         cause="Task timeout"
                         logger.error(cause)
+                        handle_admin_error_mail("NETCONF Error: TimeLimitExceeded Error during edit_config operation", "exception="+str(e)+"\nfor NETCONF configuration="+str(configuration))
                         return False, cause
                     except RPCError as e:
                         cause="NETCONF RPC Error: "+str(e)
                         logger.error(cause)
                         m.discard_changes()
+                        handle_admin_error_mail("NETCONF Error: RPC Error during edit_config operation", "exception"+str(e)+"\nfor configuration="+str(configuration))
                         return False, cause
                     except Exception as e:
                         traceback.print_exc()
@@ -343,7 +347,9 @@ class Applier(object):
                         cause = cause.replace('\n', '')
                         logger.error(cause)
                         m.discard_changes()
+                        handle_admin_error_mail("NETCONF Error: general exception during edit_config operation", "exception"+str(e)+"\nfor configuration="+str(configuration))
                         return False, cause
+
                     if edit_is_successful:
                         try:
                             if ":confirmed-commit" in m.server_capabilities:
@@ -366,20 +372,24 @@ class Applier(object):
                         except SoftTimeLimitExceeded:
                             cause="Task timeout"
                             logger.error(cause)
+                            handle_admin_error_mail("NETCONF Error: SoftTimeLimitExceeded Error during commit operation", "exception="+str(e)+"\nfor NETCONF configuration="+str(configuration))
                             return False, cause
                         except TimeLimitExceeded:
                             cause="Task timeout"
                             logger.error(cause)
+                            handle_admin_error_mail("NETCONF Error: TimeLimitExceeded Error during commit operation", "exception="+str(e)+"\nfor NETCONF configuration="+str(configuration))
                             return False, cause
                         except RPCError as e:
                             cause="NETCONF RPC Error: "+str(e)
                             logger.error(cause)
                             m.discard_changes()
+                            handle_admin_error_mail("NETCONF Error: RPC Error during commit operation", "exception="+str(e)+"\nfor configuration="+str(configuration))
                             return False, cause
                         except Exception as e:
                             cause="Caught commit confirmed exception: type='%s' str='%s' => reason='%s'" %(type(e), str(e), reason)
                             cause=cause.replace('\n', '')
                             logger.error(cause)
+                            handle_admin_error_mail("NETCONF Error: general exception during commit operation", "exception="+str(e)+"\nfor configuration="+str(configuration))
                             return False, cause
 
                         if settings.COMMIT:
@@ -401,27 +411,35 @@ class Applier(object):
                                 except SoftTimeLimitExceeded:
                                     cause="Task timeout"
                                     logger.error(cause)
+                                    handle_admin_error_mail("NETCONF Error: SoftTimeLimitExceeded Error during commit2 operation", "exception="+str(e)+"\nfor NETCONF configuration="+str(configuration))
                                     return False, cause
                                 except TimeLimitExceeded:
                                     cause="Task timeout"
                                     logger.error(cause)
+                                    handle_admin_error_mail("NETCONF Error: TimeLimitExceeded Error during commit2 operation", "exception="+str(e)+"\nfor NETCONF configuration="+str(configuration))
                                     return False, cause
                                 except RPCError as e:
                                     cause="NETCONF RPC Error: "+str(e)
                                     logger.error(cause)
                                     m.discard_changes()
+                                    handle_admin_error_mail("NETCONF Error: RPC Error during commit2 operation", "exception="+str(e)+"\nfor configuration="+str(configuration))
                                     return False, cause
                                 except Exception as e:
                                     cause="Caught commit exception: type='%s' str='%s' => reason='%s'" %(type(e), str(e), reason)
                                     cause=cause.replace('\n', '')
                                     logger.error(cause)
+                                    handle_admin_error_mail("NETCONF Error: Exception during commit2 operation", "exception="+str(e)+"\nfor configuration="+str(configuration))
                                     return False, cause
           else:
             return False, "No configuration was supplied"
+
         except Exception as e:
                             cause="NETCONF connection exception: %s %s" %(e,reason)
                             cause=cause.replace('\n', '')
                             logger.error(cause)
+
+                            handle_admin_error_mail("NETCONF Error: general connection exception", "exception="+str(e)+"\nfor configuration="+str(configuration))
+
                             cause_user="NETCONF connection failed"
                             return False, cause_user
         finally: