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

Исходное сообщение
"PHP не запускает sendmail"

Отправлено den , 03-Мрт-04 08:37 
Короче тема такая: при использовании функции 'mail()' PHP должен запустить скрипт отправки почты, который по умолчанию 'sendmail' в линуксах, а он его не запускает. Я для проверки написал скрипт 'sendmail.test' такого содержания:
-------------------
#!/bin/sh
echo "Your Mail Sent !" > /tmp/test.sendmail
-------------------
положил его в /usr/sbin/sendmail.test, есессно прописал его в php.ini в sendmail_path и рестартнул апач. Нифига не пашет.
Права доступа на файл: root:root, 755, u+s
В чем трабла? Как это вылечить?
если пишу в консоле: sendmail -t <test.txt - отсылается на ура.

Содержание

Сообщения в этом обсуждении
"PHP не запускает sendmail"
Отправлено MeLLowD , 03-Мрт-04 12:52 
>Короче тема такая: при использовании функции 'mail()' PHP должен запустить скрипт отправки
>почты, который по умолчанию 'sendmail' в линуксах, а он его не
>запускает. Я для проверки написал скрипт 'sendmail.test' такого содержания:
>-------------------
>#!/bin/sh
>echo "Your Mail Sent !" > /tmp/test.sendmail
>-------------------
>положил его в /usr/sbin/sendmail.test, есессно прописал его в php.ini в sendmail_path и
>рестартнул апач. Нифига не пашет.
>Права доступа на файл: root:root, 755, u+s
>В чем трабла? Как это вылечить?
>если пишу в консоле: sendmail -t <test.txt - отсылается на ура.

Посмотрите в php.ini следующие параметры:
SMTP "localhost"
smtp_port "25"

должно быть именно так


"PHP не запускает sendmail"
Отправлено den , 03-Мрт-04 18:53 
>>Короче тема такая: при использовании функции 'mail()' PHP должен запустить скрипт отправки
>>почты, который по умолчанию 'sendmail' в линуксах, а он его не
>>запускает. Я для проверки написал скрипт 'sendmail.test' такого содержания:
>>-------------------
>>#!/bin/sh
>>echo "Your Mail Sent !" > /tmp/test.sendmail
>>-------------------
>>положил его в /usr/sbin/sendmail.test, есессно прописал его в php.ini в sendmail_path и
>>рестартнул апач. Нифига не пашет.
>>Права доступа на файл: root:root, 755, u+s
>>В чем трабла? Как это вылечить?
>>если пишу в консоле: sendmail -t <test.txt - отсылается на ура.
>
>Посмотрите в php.ini следующие параметры:
>SMTP "localhost"
>smtp_port "25"
>
>должно быть именно так


Да, там именно так все и прописано. Только причем тут localhost и порт если PHP обычный скрипт тестовый не запускает. Если бы все это работало через initd (super server daemon) - то я бы еще понял, а так он у меня как standalone сервис запускается.
Проблема именно в том, что PHP просто не дает команду на выполнение скрипта.


"PHP не запускает sendmail"
Отправлено Rohan , 04-Мрт-04 02:04 
Эти настройки только для винды.

"PHP не запускает sendmail"
Отправлено Rohan , 04-Мрт-04 02:03 
Для решения данной проблемы неплохо бы было почитать phpinfo или соответствующие куски php.ini


"PHP не запускает sendmail"
Отправлено den , 04-Мрт-04 08:12 
>Для решения данной проблемы неплохо бы было почитать phpinfo или соответствующие куски
>php.ini

Ок. Вот скрипт phpinfo прямо на моем серваке:
http://tusovka.ma.cx/phpinfo.php

А какие именно куски php.ini выложить?


"PHP не запускает sendmail"
Отправлено MeLLowD , 04-Мрт-04 12:12 
>>Для решения данной проблемы неплохо бы было почитать phpinfo или соответствующие куски
>>php.ini
>
>Ок. Вот скрипт phpinfo прямо на моем серваке:
>http://tusovka.ma.cx/phpinfo.php
>
>А какие именно куски php.ini выложить?

For the Mail functions to be available, PHP must have access to the sendmail binary on your system _during compile time_.

Попробуйте пересобрать PHP.


"PHP не запускает sendmail"
Отправлено den , 04-Мрт-04 20:58 
>>>Для решения данной проблемы неплохо бы было почитать phpinfo или соответствующие куски
>>>php.ini
>>
>>Ок. Вот скрипт phpinfo прямо на моем серваке:
>>http://tusovka.ma.cx/phpinfo.php
>>
>>А какие именно куски php.ini выложить?
>
>For the Mail functions to be available, PHP must have access to
>the sendmail binary on your system _during compile time_.
>
>Попробуйте пересобрать PHP.


Пересобрал. Даже перед сборкой config.cache удалил. Не помогает. Пробовал даже в /bin сам бинарник класть, а не линк на него - тот же результат. Что самое обидное - никаких ошибок в лог фаил не пишеться. Даже не предстовляю себе где копать... :-(


"PHP не запускает sendmail"
Отправлено MeLLowD , 05-Мрт-04 12:58 
Попробуйте вот так, обращаясь к sendmail напрямую:

$announce_subject = "Message From Our Web Site";
$announce_from_email = "editor@somesite.com";
$announce_from_name = "Our Site";
$announce_to_email = "listaddr@listhost.com";
$body = "Announcement. Our site has a special offer today. Please visit. Thank you.";
$MP = "/usr/sbin/sendmail -t";
$spec_envelope = 1;
// Access Sendmail
// Conditionally match envelope address
if($spec_envelope)
{
$MP .= " -f $announce_from_email";
}
$fd = popen($MP,"w");
fputs($fd, "To: $announce_to_email\n");
fputs($fd, "From: $announce_from_name <$announce_from_email>\n");
fputs($fd, "Subject: $announce_subject\n");
fputs($fd, "X-Mailer: PHP4\n");
fputs($fd, $body);
pclose($fd);


"PHP не запускает sendmail"
Отправлено den , 05-Мрт-04 19:44 
>Попробуйте вот так, обращаясь к sendmail напрямую:
>
>$announce_subject = "Message From Our Web Site";
>$announce_from_email = "editor@somesite.com";
>$announce_from_name = "Our Site";
>$announce_to_email = "listaddr@listhost.com";
>$body = "Announcement. Our site has a special offer today. Please visit.
>Thank you.";
>$MP = "/usr/sbin/sendmail -t";
>$spec_envelope = 1;
>// Access Sendmail
>// Conditionally match envelope address
>if($spec_envelope)
>{
>$MP .= " -f $announce_from_email";
>}
>$fd = popen($MP,"w");
>fputs($fd, "To: $announce_to_email\n");
>fputs($fd, "From: $announce_from_name <$announce_from_email>\n");
>fputs($fd, "Subject: $announce_subject\n");
>fputs($fd, "X-Mailer: PHP4\n");
>fputs($fd, $body);
>pclose($fd);


Попробовал - никакой реакции.


"PHP не запускает sendmail"
Отправлено MeLLowD , 09-Мрт-04 14:56 
http://phpmailer.sourceforge.net/

Попробуйте использовать этот класс для обнаружения ошибок.



"PHP не запускает sendmail"
Отправлено den , 09-Мрт-04 20:28 
>http://phpmailer.sourceforge.net/
>
>Попробуйте использовать этот класс для обнаружения ошибок.


И как же я могу обнаружить ошибки, если ошибок нет? Кстате именно с помощью этого класса почта отсылается, но только через SMTP. А если пытаюсь использовать sendmail с этим же классом - никаких ошибок, но и почта не доходит.


"PHP не запускает sendmail"
Отправлено MeLLowD , 10-Мрт-04 13:42 
>>http://phpmailer.sourceforge.net/
>>
>>Попробуйте использовать этот класс для обнаружения ошибок.
>
>
>И как же я могу обнаружить ошибки, если ошибок нет? Кстате именно
>с помощью этого класса почта отсылается, но только через SMTP. А
>если пытаюсь использовать sendmail с этим же классом - никаких ошибок,
>но и почта не доходит.

даже PHPMailer::ErrorInfo ничего не кажет?


"PHP не запускает sendmail"
Отправлено MeLLowD , 10-Мрт-04 13:50 
>>>http://phpmailer.sourceforge.net/
>>>
>>>Попробуйте использовать этот класс для обнаружения ошибок.
>>
>>
>>И как же я могу обнаружить ошибки, если ошибок нет? Кстате именно
>>с помощью этого класса почта отсылается, но только через SMTP. А
>>если пытаюсь использовать sendmail с этим же классом - никаких ошибок,
>>но и почта не доходит.
>
>даже PHPMailer::ErrorInfo ничего не кажет?

а вообще telnet localhost 25 фунциклирует?


"PHP не запускает sendmail"
Отправлено den , 10-Мрт-04 18:05 
>>>>http://phpmailer.sourceforge.net/
>>>>
>>>>Попробуйте использовать этот класс для обнаружения ошибок.
>>>
>>>
>>>И как же я могу обнаружить ошибки, если ошибок нет? Кстате именно
>>>с помощью этого класса почта отсылается, но только через SMTP. А
>>>если пытаюсь использовать sendmail с этим же классом - никаких ошибок,
>>>но и почта не доходит.
>>
>>даже PHPMailer::ErrorInfo ничего не кажет?
>
>а вообще telnet localhost 25 фунциклирует?

telnet localhost 25 - работает. Может че-то с правами доступа у меня намудрено? PHPMailer::ErrorInfo - ниче ваще не выдает.


"PHP не запускает sendmail"
Отправлено MeLLowD , 11-Мрт-04 13:05 
>>>>>http://phpmailer.sourceforge.net/
>>>>>
>>>>>Попробуйте использовать этот класс для обнаружения ошибок.
>>>>
>>>>
>>>>И как же я могу обнаружить ошибки, если ошибок нет? Кстате именно
>>>>с помощью этого класса почта отсылается, но только через SMTP. А
>>>>если пытаюсь использовать sendmail с этим же классом - никаких ошибок,
>>>>но и почта не доходит.
>>>
>>>даже PHPMailer::ErrorInfo ничего не кажет?
>>
>>а вообще telnet localhost 25 фунциклирует?
>
>telnet localhost 25 - работает. Может че-то с правами доступа у меня
>намудрено? PHPMailer::ErrorInfo - ниче ваще не выдает.

может и с правами....
Почитай тут http://detail.phpclub.net/article/mail#part_5_1
вдруг поможет