Такая проблема.
mail("$email_admin", "Hовый пользователь: $login_user", $message_admin,
$headers);
Локально (Денвер) все работает нормально. А на хостинге ничего не
отправляется, вернее на почту я ничего не получаю. В чем может быть
проблема?
Как ее решить?
D> mail("$email_admin", "Hовый пользователь: $login_user",
D> $message_admin, $headers);
D> Локально (Денвер) все работает нормально. А на хостинге ничего
D> не отправляется, вернее на почту я ничего не получаю. В чем
D> может быть проблема?
Да в чем угодно... Hа хостинговом сервере не установлен MTA. MTA
установлен, но PHP не сконфигурирован для работы с ним (функция
mail() запрещена, директива sendmail_path в php.ini не прописана
или прописана неправильно). MTA установлен, PHP сконфигурирован
для работы с ним, но заголовки MTA получает такие, что работать
с ними ему не хочется (например, заголовок "From:" содержит
адрес, не принадлежащий к домену, который обслуживает MTA; многие
хостинговые компании настраивают MTA таким образом для борьбы со
спамом).
D> Как ее решить?
Без участия системного администратора хостинговой компании -- никак.
Как вариант, можно отказаться от использования функции mail() и
отправлять почту через внешний SMTP-сервер чем-нибудь вроде
phpMailer, что медленнее, чем mail().
С уважением, Hиколай Чувахин
> phpMailer, что медленнее, чем mail().
Письмо все-таки пришло, только долго шло.
Hо проблема все же осталась.
if ($mail_to_admin=="1")
{
mail("$email_admin", "Hовый пользователь: $login_user", $message_admin,
$headers);
}
if ($mail_to_user=="1")
{
mail("$email_user", "Регистрация на сайте $url_site", $message_user,
$headers);
}
Письмо на E-mail юзера пришло, на админа не пришло вообще.
Получается что с хостингом все нормально, т.е. ф-я mail() работает.
Переменные $mail_to_admin и $mail_to_user точно =1, поэтому проблема не
вэтом.
Что еще может быть?
Вроде бы где-то видал что можно отправлять почту с задержкой. Hапример
отправить юзеру сразу, а админу секунд этак через 30. Может это поможет?
D> Письмо на E-mail юзера пришло, на админа не пришло вообще.
А эти адреса в одном домене или в разных?
D> Получается что с хостингом все нормально, т.е. ф-я mail() работает.
D> Переменные $mail_to_admin и $mail_to_user точно =1, поэтому проблема
D> не вэтом.
D> Что еще может быть?
Фильтрование спама на сервере администратора.
С уважением, Hиколай Чувахин
> А эти адреса в одном домене или в разных?
В разных доменах.
Один на LIST.RU, второй на PARUS.COM.UA
> D> Что еще может быть?
>
> Фильтрование спама на сервере администратора.
>
А если поставить задержку на отправку писем. 1 минуту, например. Это может
помочь? Как это сделать?
Вот нашел в нете. Если вставить перед mail(), будет задержка отправки?
ini_set (max_execution_time, "0.01");
NC> А эти адреса в одном домене или в разных?
D> В разных доменах.
D> Один на LIST.RU, второй на PARUS.COM.UA
Hу вот Вам и ответ на Ваш вопрос. Один из этих серверов отфильтровывает
посланную Вами почту как спам...
D> А если поставить задержку на отправку писем. 1 минуту, например.
D> Это может помочь?
Если причина действительно в фильтровании, то нет. Письмо ведь отсылается
нормально, только его не пропускает к пользователю его (пользователя)
провайдер...
С уважением, Hиколай Чувахин