1) Проверьте возвращаемое значение из вызова mail ():
$status = mail(...);
if (!$status) {
die("Mail failed");
}
Если это не удастся, тогда PHP даже не сможет получить почту через переднюю дверь, и вам придется выяснить, почему- Например, вы находитесь в окне Windows и не настроили параметры почты в php.ini?
2) Проверьте журналы вашего почтового сервера.Большинство систем Unix / Linux имеют локальный почтовый сервер (MTA), который будет принимать почту от PHP.Если он неправильно настроен или имеет проблемы, он все равно может принимать почту из PHP, но затем оставлять почту гнить в очереди.
Возможно, ваш сервер помещен в черные списки спама, и он просто не может никуда доставлять почту, чтоозначает, что все ваши тестовые письма, вероятно, застряли в исходящей очереди, которая никуда не может отправиться.