PHP mail () функция не доставляет почту - PullRequest
2 голосов
/ 08 января 2011

У меня небольшая проблема. Я использую рабочий скрипт (работает на моей тестовой учетной записи - на общем сервере) для отправки почты через PHP с помощью функции mail ().

Я только что получил выделенный сервер, и мне не удалось заставить функцию работать. Последние 10 часов я провел, читая различные документы по BIND (для записи SPF), dovecot, sendmail и postfix, пробуя разные вещи, чтобы заставить это работать.

Я явно что-то упускаю.

Итак, мы знаем, что код PHP работает нормально. Все заголовки все хорошо. Мы знаем это как прямую копию с моего тестового аккаунта. Так что проблема должна возникнуть где-то в конфигурации сервера. Путь к sendmail правильный, и sendmail (очевидно) работает нормально. Я настроил скрипт для доставки «Отправлено» или «Ошибка» на основе логического результата функции PHP mail (). То есть:

if(mail($blah,$blah,$blah,$blah,$blah)) { echo "Sent"; } else { echo "Error";}

И результат ВСЕГДА выглядит как «Отправлено» - однако электронное письмо никогда не приходит. Может кто-нибудь подсказать, что нужно проверить, так как я совершенно новичок в этом (24 часа или около того!).

Заранее спасибо.

Ryan

Ответы [ 2 ]

0 голосов
/ 08 января 2011

Вы установили SMTP-сервер. Функция php mail не будет работать, если вы ее не установите. Например, в Linux вы можете установить postfix. Под Windows MS Exchange является примером.

0 голосов
/ 08 января 2011

Вы пробовали команду mailq , чтобы увидеть, есть ли ошибки?Вот ответ на аналогичный вопрос о ServerFault с более подробной информацией.

...