«Предупреждение PHP: mail (): не удалось выполнить программу доставки почты»
... означает именно то, что написано на банке.PHP просто передает электронную почту внешней программе в системе Linux / Unix / POSIX (как определено sendmail_path в php.ini).И в некоторых случаях это возвращает ошибку.Это не ошибка в PHP-коде.
Если у вас не очень плохо настроенный MTA, проблема не будет решена с помощью SMTP-соединения.
Вам нужно посмотретьв журналах вашего MTA, чтобы увидеть, почему не удается отправить почту, или оберните исполняемый файл почты в сценарий регистрации.