Проблем с PHP, пращане на поща и още нещо...
Здравейте!
Имам следният проблем: имам качени apache, php4 и postfix на машина с инсталиран SuSE Linux. Пиша обикновен скрипт, в който има само 1 ред, позлващ mail() функцията, със съответните и параметри, като преди това съм указал пътя до postfix-a в php.ini.
Пускам скрипта през apache - не дава никаква грешка, но не получавам поща. Когато пусна скрипта от командния ред (php some_file_name.php) получавам пощата без никакви проблеми.
Отделно от това имам подобен проблем и със system() функцията - пускам ping през нея - работи си нормално и през браузъра. Когато, обаче се опитам да изпълня shell script - нещата стоят още по-шантаво - в скрипта е написано само echo > ime_na_file всичко тръгва без проблеми през браузъра, но когато се опитам да пусна или спра firewall-a през скрипта нищо не се получава, освен ако не изпълня скрипта през командния ред.
Извинявам се, ако всичко звучи малко объркано, но след неколкоседмична борба с това нещо съм "ЛЕКО" изнервен, затова ако нещо не е ясно ще го дообяснявам....
Предварително благодаря.
Проблем с PHP, пращане на поща и още нещо...
Какви са правата на скриптовете, които пускаш?
Проблем с PHP, пращане на поща и още нещо...
Ако става въпрос за shell скриптовете, тях съм ги пуснал да се изпълняват от всички user-и. Ако не ме питаш за тях обясни малко по-подробно, че май нещо не съм разбрал.
Проблем с PHP, пращане на поща и още нещо...
Я провери да не би PHP да ти е в safe mode. Звучи логично да е от това. Ако не е, покажи кода на php-то за мейла.
Проблем с PHP, пращане на поща и още нещо...
PHP не е в safe mode, а кода за пращане на поща е само 1 ред - стандартната mail функция:
Код:
<?php
mail('адрес_за_получаване', 'Текст на писмото', 'Header на писмото');
?>
Проблем с PHP, пращане на поща и още нещо...
И сега най-странната част - махнах всичките настройки свързани с smtp-то от php.ini (изтрих всичко и файла стана както е по default), рестартирах apache-то и започна да праща поща. Ако някой успее и да ми обясни как стана това нещо?????
Проблем с PHP, пращане на поща и още нещо...
Аман от разбирачи. Първо вземи да научиш малко за правата на потребителите в Линукс и после пускай файъруоли през апаха.
man sudo.
Проблем с PHP, пращане на поща и още нещо...
Аз ако разбирах нямаше да питам тук, а сам щях да си го направя това, което ми трябва. В момента firewall-а не ми е приоритет - по интересно ми е да науча защо, след като направих настройките за пощата в php.ini не искаше да тръгне, а след като ги промених както бяха първоначално след инсталацията на PHP(тоест никакви), започна да изпраща поща.
Проблем с PHP, пращане на поща и още нещо...
<blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">PHP не е в safe mode, а кода за пращане на поща е само 1 ред - стандартната mail функция:
Код:
<?php
mail('адрес_за_получаване', 'Текст на писмото', 'Header на писмото');
?>
<div align="right">Originally posted by The Mask*-*13/04/2004*:* 13:10:00</div id="right">
</td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">
Между другото, изпускаш subject. Не знам дали само в примера тук си го пропуснал.
bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
И аз имам някакъв проблем с mail() в моето apache (само че то е по win xp). Някак не може да се върже към smtp-то. Та ми се налага да ползвам някаква алтернатива на mail().
Проблем с PHP, пращане на поща и още нещо...
<blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">Аз ако разбирах нямаше да питам тук, а сам щях да си го направя това, което ми трябва. В момента firewall-а не ми е приоритет - по интересно ми е да науча защо, след като направих настройките за пощата в php.ini не искаше да тръгне, а след като ги промених както бяха първоначално след инсталацията на PHP(тоест никакви), започна да изпраща поща.
<div align="right">Originally posted by The Mask - 22/04/2004 : 15:12:16</div id="right">
</td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">
Логичния отговор е че променените настройки са били грешни...
Проблем с PHP, пращане на поща и още нещо...
До fori:
Нали по принцип за да тръгне mail-а трябва в php.ini да се укаже пътя до изпълнимия файл на sendmail, postfix, qmail или какъвто и да е smtp сървър?
Ако е така тогава се получава странното, защото след като е указан пътя postfix не иска да праща поща, а съм пробвал същото нещо с qmail на друго PC и оттам си праща, след като се укаже пътя до него.
След като премахна пътя към изпълнимия файл на postfix и всичко започва да работи идеално...
BTW мерси за sudo, когато имам малко повече време ще прочета как точно стават нещата.
До wireman:
Мерси за поправката - наистина съм изпуснал subject-а тук в примера. А колкото до твоя проблем - какъв smtp сървър ползваш и пробвал ли си с някой външен - щом си под win само му задаваш IP-то на smtp сървъра в php.ini и всичко трябва да си работи идеално.
Проблем с PHP, пращане на поща и още нещо...
"Advanced SMTP Server" се казва програмата. Стартирана е на моя компютър. В php.ini съм попълнил "For Win32 only"-параметрите, а именно:
SMTP = localhost
smtp_port = 25
sendmail_from = wire@nlan.org
mail() не се свързва изобщо с мейл сървъра, но казва, че всичко е минало добре. Иначе в момента ползвам сокети, за да се свързвам директно към сървъра и така да пращам мейли. Не знам какво стана, защото в началото mail() си работеше, изведнъж спря да се свързва.