Попробуйте просмотреть почтовые журналы вашего сервера, чтобы понять, почему он не пересылается.Например, возможно, что sendmail этого сервера хочет флаг -f для заголовка From вместо того, чтобы указывать его в тексте заголовка.
mail($to, $subject, $msg, $headers, "-f $from");
Кроме того, вы, кажется, делаете много дополнительной / странной работы.Это намного проще:
$subject = "AromaClear Password Reset Notification";
$headers = "From: webmaster@aromaclear.co.uk";
$msg = "Your new password is $newpass\r\nIf you have received this e-mail in error, please ignore it.\r\n.";
if(mail($email, $subject, $msg, $headers))
{
//handle success
}
else
{
//handle failure
}
Измените стиль по своему вкусу.