URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4946
[ Назад ]

Исходное сообщение
"некоректная работа функции mail()"

Отправлено gnazar , 08-Май-07 11:22 
Появилась проблема после переноса сайта с хостинга на внутренний веб-сервер. Форма отправки писем (она использует функцию mail()) перестала корректно отправлять письма. Они не доходят. Удаленный smtp-сервер выдает ошибки.

Одна из записей логов файервола при отправке писем:
reason: out of state server reply. Expected: '354', Received: '503'. state=third digit of DATA command server reply

Почитав по этой тематики и поискав схожие проблемы пришел к выводу, что сдесь неправильно работает именно эта функция PHP.

Обычная отправка почты с сервера (SuSe Linux 10.1) прекрасно работает. На сервере с почтой работает Postfix. При отправке писем формой письма доходят только на gmail.com и мой внутренний сервер почты.

Кто может помочь в этом вопросе и проконсультировать? С Linux знаком слабо, PHP не знаю вообще. Сервер настраивали люди со стороны и как они это сделали имею слабое представление.

Очень хотелось бы наладить работу данной формы, потому как это очень критично, или нужен совет что можно использовать вместо mail() для отправки писем в PHP.


Содержание

Сообщения в этом обсуждении
"некоректная работа функции mail()"
Отправлено mirya , 11-Май-07 15:18 
mail() шлет через локальный транспорт - т.е. вызывает некую комманду, и в stdin передает письмо. По дефотлу комманда "sendmail -t -i". Рекомендую найти php.ini (/etc/php.ini, или еще где) и поиграться с параметром

sendmail_path =

- т.е. туда можно засунуть и некий постфиксовый локальный отсылатель
(после этого рестартануть апач)

Алтьтернатива - PEAR::Mail и иже с ними, позволяют как через локальные агенты, так и через SMTP.


"некоректная работа функции mail()"
Отправлено gnazar , 11-Май-07 16:12 
>mail() шлет через локальный транспорт - т.е. вызывает некую комманду, и в
>stdin передает письмо. По дефотлу комманда "sendmail -t -i". Рекомендую найти
>php.ini (/etc/php.ini, или еще где) и поиграться с параметром
>
>sendmail_path =
>
>- т.е. туда можно засунуть и некий постфиксовый локальный отсылатель
>(после этого рестартануть апач)
>
>Алтьтернатива - PEAR::Mail и иже с ними, позволяют как через локальные агенты,
>так и через SMTP.

Спасибо.
Действительно. Подкорректировал php.ini и все прекрасно заработало. Плюс были небольшие грабли в конфигурационных файлах самого Постфикса, которые отыскались позже. Все поправил и усе работает