Strona 1 z 1
LAMP a Krasnal
: 20 kwie 2009, 19:25
autor: Key
Dzień Dobry,
Czy ktoś może mi wyjaśnić, jaka jest różnica lub co może być źle skonfigurowane, jeżeli na Krasnalu stronka.php a raczej skrypt do wysyłania mail'i z formularza działa poprawnie, a przy użyciu LAMP'a (instalowane ze strony forum, HOW-TO) nie działa, tzn. pisze tak samo, mail został wysłany, lecz nic nie dochodzi. Ktoś poradzi ?
Odp: LAMP a Krasnal
: 20 kwie 2009, 19:32
autor: atsuki
standardowo.. co mówią logi? error.log apacha, syslog i mail.log o tej próbie wysłania maila.
Odp: LAMP a Krasnal
: 20 kwie 2009, 20:21
autor: Key
To, bo nie potrafię sobie poradzić z faviconą ...
Kod: Zaznacz cały
[Sun Apr 19 19:27:15 2009] [error] [client 123.23.23.321] File does not exist: /var/www/men/index.html/favicon.ico
Co do mail'i:
error.log nic konkretnego, nie reaguje na próbę wysłania;
mail.log - kompletnie czysty
- pozostałe w ogóle nie zareagowały na próbę wysłania
Krasnal oczywiście śmiga bez problemu, ale to Krasnal :/ ...
+
Kod: Zaznacz cały
::1 - - [20/Apr/2009:20:23:22 +0200] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch (internal dummy connection)"
- access log'a
Kod: Zaznacz cały
Apr 20 20:17:01 dany /USR/SBIN/CRON[11755]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
- syslog'a
+
Skrypt do przeglądnięcia (a może jakiś błąd ?)
Kod: Zaznacz cały
<?php
if (empty($_POST['submit'])) {
echo "<table border=\"0\"><form method=\"post\">
<tr>
<td>Temat wiadomości</td>
<td><input type=\"text\" name=\"temat\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Treść wiadomości</td>
<td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
</tr>
<tr>
<td>Imię, nazwisko lub nick</td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
</tr>
<tr>
<td>Adres e-mail</td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">
</tr>
</table>";
}
elseif (!empty($_POST['temat']) && !empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
$message = "Temat wiadomości:\n$_POST[temat]\nTreść wiadomości:\n$_POST[tresc]\nWysłał,: $_POST[imie]\ne-mail: $_POST[email]";
$header = "From: $_POST[imie] <$_POST[email]>";
@mail("adres@mail.pl","Wiadomosc ze strony WWW","$message","$header")
or die('Nie udało się wysłać wiadomości');
echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie! Postaramy się jak najszybciej dostarczyć odpowiedź na Państwa zapytanie. </strong></div>";
}
else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
?>
Odp: LAMP a Krasnal
: 20 kwie 2009, 20:43
autor: atsuki
Więc odsylam do dokumentacji php ->
http://pl.php.net/manual/pl/function.mail.php
Informacja: Implementacja funkcji mail() w systemach Windows różni się pod wieloma względami od implementacji na platformach Unix. Po pierwsze, do tworzenia wiadomości funkcja nie używa lokalnych poleceń systemowych, tylko operuje bezpośrednio na gniazdach. To oznacza, że wymagana jest dodatkowa usługa MTA, nasłuCUKIERECZEKąca na porcie (która może działać na localhost lub maszynie zdalnej).
Dodatkowe nagłówki, takie jak From:, Cc:, Bcc: i Date: nie są przetwarzane przez MTA, tylko parsowane za pomocą PHP.
Parametr do nie powinien być adresem w postaci "Osoba <
ktokolwiek@example.com>". Polecenie mail może nie parsować tego właściwie, podczas komunikowania się z MTA.
MTA - Mail Transfer Agent - czyli potrzebny ci jest dzialajacy serwer pocztowy, np postfix.
dlatego też zapytałem się o mail.log. W nim by była informacja, że mail poszedł/nie poszedł/błąd.