Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Не отправляется письмо на хостинге

7 views
Skip to first unread message

Dimon

unread,
Aug 26, 2008, 2:49:19 AM8/26/08
to
Hi All!

Такая проблема.

mail("$email_admin", "Hовый пользователь: $login_user", $message_admin,
$headers);

Локально (Денвер) все работает нормально. А на хостинге ничего не
отправляется, вернее на почту я ничего не получаю. В чем может быть
проблема?

Как ее решить?


Nikolai Chuvakhin

unread,
Aug 26, 2008, 12:39:15 PM8/26/08
to
Tue Aug 26 2008 10:49, Dimon wrote to All:

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иколай Чувахин

Dimon

unread,
Aug 27, 2008, 2:53:06 AM8/27/08
to
Hi Nikolai

> 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. Может это поможет?


Nikolai Chuvakhin

unread,
Aug 27, 2008, 2:02:21 PM8/27/08
to
Wed Aug 27 2008 10:53, Dimon wrote to Nikolai Chuvakhin:

D> Письмо на E-mail юзера пришло, на админа не пришло вообще.

А эти адреса в одном домене или в разных?

D> Получается что с хостингом все нормально, т.е. ф-я mail() работает.
D> Переменные $mail_to_admin и $mail_to_user точно =1, поэтому проблема
D> не вэтом.
D> Что еще может быть?

Фильтрование спама на сервере администратора.

С уважением, Hиколай Чувахин

Dimon

unread,
Aug 28, 2008, 1:38:24 AM8/28/08
to
Hi Nikolai

> А эти адреса в одном домене или в разных?

В разных доменах.
Один на LIST.RU, второй на PARUS.COM.UA

> D> Что еще может быть?
>
> Фильтрование спама на сервере администратора.
>

А если поставить задержку на отправку писем. 1 минуту, например. Это может
помочь? Как это сделать?

Вот нашел в нете. Если вставить перед mail(), будет задержка отправки?
ini_set (max_execution_time, "0.01");


Nikolai Chuvakhin

unread,
Aug 28, 2008, 1:54:13 AM8/28/08
to
Thu Aug 28 2008 09:38, Dimon wrote to Nikolai Chuvakhin:

NC> А эти адреса в одном домене или в разных?

D> В разных доменах.
D> Один на LIST.RU, второй на PARUS.COM.UA

Hу вот Вам и ответ на Ваш вопрос. Один из этих серверов отфильтровывает
посланную Вами почту как спам...

D> А если поставить задержку на отправку писем. 1 минуту, например.
D> Это может помочь?

Если причина действительно в фильтровании, то нет. Письмо ведь отсылается
нормально, только его не пропускает к пользователю его (пользователя)
провайдер...

С уважением, Hиколай Чувахин

0 new messages