diff --git core/oxutils.php core/oxutils.php
index 87a0baa..08cceb2 100644
--- core/oxutils.php
+++ core/oxutils.php
@@ -314,8 +314,14 @@ class oxUtils extends oxSuperCfg
     {
         $blValid = true;
         if ( $sEmail != 'admin' ) {
-            $sEmailTpl = "/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/i";
-            $blValid = ( getStr()->preg_match( $sEmailTpl, $sEmail ) != 0 );
+
+            // enforce maximum length to prevent libpcre recursion crash bug #52929 in PHP
+            // fixed in PHP 5.3.4; length restriction per SMTP RFC 2821
+            if (strlen($sEmail) > 320) {
+                return FALSE;
+            }
+            
+            $blValid = (filter_var($sEmail, FILTER_VALIDATE_EMAIL) !== FALSE);
         }
 
         return $blValid;
