unção @PHP mail () retornando false, mas sem erro

Estou usando a função mail () do php para o simples processo de enviar por e-mail a entrada de um formulário de contato para a respectiva pessoa. O estranho é que o formulário sempre usado para processar os e-mails, mas um dia tudo isso parou, agora a função retorna false, mas não gera nenhum err

O site está em um host compartilhado. Quando perguntados sobre isso, eles recomendaram que eu use o relé smtp xx.xxx.x.xxx

Corrija-me se estiver errado, mas a função mail () não fornece provisões para isso, não é? Certamente, cabe à máquina HOST ter seus relés configurados corretamente?

Minha pergunta é esta: isso parece um erro com a configuração do host, ou é o meu código? Aqui está uma amostra do código de email que usei:

$to = "[email protected]"; //to who?
$subject = "Website Contact: $mysubject";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "From: $fname<$email1>\r\n";
$headers .= "Reply-To: $email1\r\n";
$headers .= "Return-Path:$email1\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\r\n";
$msg2 = nl2br($msg);

$send = mail($to, $subject, $msg2, $headers); //process mail

if(!$send):
  //error stuff here
endif;

Muitos agradecimentos, Simon

@ eisberg - Eu uso um manipulador de erros personalizado como este:

//error handler function
function customError($errno, $errstr){
$err = "\n".date('Y-m-d H:m:s')." Error: [$errno] $errstr";
$fh = fopen("errlog.txt", 'a+');
fwrite($fh, $err);
fclose($fh);
}
set_error_handler("customError", E_ALL);

Isso significa que eu preciso mudarset_error_handler("customError", E_ALL); paraset_error_handler("customError", -1); ?

questionAnswers(6)

yourAnswerToTheQuestion