***************
*** 136,146 ****
  		}
  	}
  
-         if ($username =~ /\|/)
-         {
-                 Exim::log_write("SMTPAuth: Invalid username: $username");
-                 return "no";
-         }
  
  	if ($username =~ /\@/)
  	{
--- 173,183 ----
  		}
  	}
  
+ 	if (!safe_name($username))
+ 	{
+ 		Exim::log_write("SMTPAuth: Invalid username: $username");
+ 		return "no";
+ 	}
  
  	if ($username =~ /\@/)
  	{
