credo dipenda da
Codice PHP:
array_popexplode"@"$_POST[$field] )) 
array_pop si aspetta una referenza, che explode non restituisce.
Prova così:
Codice PHP:
 public function validateMail$field$errorMessage ) {
        
$arr explode"@"$_POST[$field]);
        if ( !
preg_match("/^([a-zA-Z0-9])+([a-zA-Z0_9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0_9\._-]+)+$/"$_POST[$field] ) || !checkdnsrrarray_pop($arr), "MX" ) ) {
            
$this->errors[] = $errorMessage;
        }
    }