![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam mały/duży problem dotyczy tego iż posiadam n/w skrypt który służy do wysyłania maila ze strony www bez udziału programu pocztowego. Po wstawieniu na strone wpisaniu wszystkiego/wypełnieniu i kliknieciu na wyślij dostaje informacje ze wiadomość została wysłana i tu zaczyna sie problem - nie dostaje wiadomosci
![]() ![]() [php:1:769311981d]<?php //sprawdzamy, czy zmienna $submit jest pusta if (empty($submit)) { //wyświetlamy formularz echo "<table border="0"><form method="post"> <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"> <input type="reset" value="Od nowa"></td></form> </tr> </table>"; } //sprawdzamy, czy zmienne przesłane z formularza nie są puste elseif (!empty($tresc) && !empty($imie) && !empty($email)){ //jeżeli powyższy warunek jest spełniony tworzona jest wiadomość //zmienna $message zawiera treść wiadomości $message = "Treść wiadomości:n$trescnWysłał: $imiene-mail: $email"; //zmienna $header zawiera przede wszystkim adres zwrotny $header = "From: $imie <$email>"; //funkcja mail() za pomocą której wiadomość zostanie wysłana mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header"); //wyświetlenie komunikatu w przypadku powodzenia ![]() echo "<div align="center"><strong>Wiadomość została wysłana poprawnie!</strong></div>"; } //lub w przypadku nie wypełnienia formularza do końca else echo "<div align="center"><span style="color: #FF0000">Wypełnij wszystkie pola formularza!</span><br><br><input type="button" onclick="history.back();" value="<< Cofnij"></div>" ?> [/php:1:769311981d] |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 126 Pomógł: 0 Dołączył: 19.09.2003 Skąd: Białystok Ostrzeżenie: (10%) ![]() ![]() |
![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ widzę, że korzystasz z wbudowanej funkcji mail mam dwie uwagi:
1. Sprawdzaj co zwraca ta funkcja, czyli czy napewno udaje się jej wysłać (gdy zwróci true). 2. Nie wiem co masz na myśli mówiąc, że skrypt wysyła pocztę bez udziału programu pocztowego, ale funkcja mail zawsze wymaga czegoś co odbierze i skolejkuje tą pocztę. W przypadku uniksów uruchamia proces sendmaila na lokalnej maszynie, któremu przekazuje wiadomość. W przypadku windowsa wymaga serwera SMTP który dostanie wiadomosć. Sprawdź czy masz to odpowiednio skonfigurowane w php.ini i czy rzeczywiście jest coś co odbierałoby pocztę. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Adwol: wiec jest tak posiadam serwer na FreeBSD który zainstalował mi kolega (ja niestety nie jestem jeszcze na takim etapie wiedzy) i posiadam na nim program pocztowy Postfix. Prosisz żebym zobaczył co zwraca funkcja "true" hmm nie wiem jak mam to sprawdzić (gdzie). Odnośnie punktu 2 mowiąc bez udziału programu pocztowego miałem na myśli to że osoba wysyłajaca nie musi posiadac np. Outloka gdyż jest wiekszość skryptow owszem, ale po kliknięciu wyślij otzrymujesz info ze mail zostanie wysłany przy pomocy twojego programu pocztowego. Dlatego chciałbym żeby można było wysłac bez udziału tego programu. Co do konfiguracji php.ini to siż zgadzam tylko czego mam tam szukac jakiego wpisu i co wpisac lub zmienic ? bo tego nie wiem. Sorki ale poproszę o cierpliwość i zrozumienie przegladalem i opisy postfixa i php ale niestety setki informacji a niewiele konkretów:( .
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Prosisz żebym zobaczył co zwraca funkcja "true" hmm nie wiem jak mam to sprawdzić (gdzie).
Źle mnie zrozumiałeś. Nie chodziło mi o funkcję true tylko o to czy funkcja mail zwraca wartość true, innymi słowy coś takiego: [php:1:46cd3c572d]<?php if (mail("adres@domena.pl","Wiadomosc ze strony WWW","$message","$header")) { // udało się wysłać } else { // nie udało się } ?>[/php:1:46cd3c572d] Cytat Co do konfiguracji php.ini to siż zgadzam tylko czego mam tam szukac jakiego wpisu i co wpisac lub zmienic ? bo tego nie wiem.
A tu zaglądałeś? Skoro masz BSD i Postfixa to powinieneś mieć plik /usr/sbin/sendmail lub /usr/lib/sendmail. Zobacz, więc, czy masz w php.ini linijkę tej postaci: Kod sendmail_path = /usr/sbin/sendmail
Jeśli PHPowa funkcja mail stwierdzi, że powiodło się wysłanie to wtedy trzeba będzie przyjrzeć się samemu Postfixowi. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Wiec tak mail zwraca wartosc true ze "wiadomość zostala wyslana na adres xxx@xxx.pl " ale nadal cisza nic nie mam w poczcie co do plikow to w usr/sbin/ jest plik @sendmail oraz sendmail.old co do kodu: sendmail_path= nic nie bylo wpisane wiec teraz wpisalem =/usr/sbin/sendmail no i niestety nadal bez efektow
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Wiec tak mail zwraca wartosc true ze "wiadomość zostala wyslana na adres xxx@xxx.pl " ale nadal cisza nic nie mam w poczcie co do plikow to w usr/sbin/ jest plik @sendmail oraz sendmail.old co do kodu: sendmail_path= nic nie bylo wpisane wiec teraz wpisalem =/usr/sbin/sendmail no i niestety nadal bez efektow
![]() W takim razie poproś kolegę, który Ci instalował system o przyjrzenie się sprawie. Ja (ani pewnie nikt z forum) nie będzie Ci w stanie pomóc ,,zdalnie'' bez zajrzenia do logów, potestowania i obejrzenia ,,żywego organizmu'', a jedynie na podstawie Twoich opisów, jakkolwiek byłyby one dokładne. Po prostu często diabeł siedzi w szczegółach, a skoro od strony PHPa wszystko jest ok (mail jest wysyłany) to należy pogrzebać w Postfixie, a tu przyczyn może być wiele. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:59 |