Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Błąd funkcji mail()
Wolfie
post 25.04.2009, 17:16:42
Post #1





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam,

Mam skrypt ktory wysyła do administratora maila jezeli wystąpi błąd na serwerze dla przykładu błąd 404
Oto czesc skrytpu:

  1. <?php
  2.  
  3.    function email_admin($error_no, $error_output, $full_date, $full_time, $request_page) {
  4.        
  5.        $to = "Administrator <jakisadres[malpa]gmail.com>";
  6.        $subject = "Problem z Apache";
  7.        
  8.        $body = "<html>";
  9.        $body .= "<head>";
  10.        $body .= "<title>Błąd na serwerze Apache</title>";
  11.        $body .= "</head>";
  12.        $body .= "<body>";
  13.        $body .= "Błąd wystąpił w dniu <b>".$full_date."</b> o godzinie".$full_time."</b><br>";
  14.        $body .= "Był to błąd o numerze <b>".$error_no."</b><br>";
  15.        $body .= "Strona która spowodowała wygenerowanie błędu: <b>".$request_page."</b><br>";
  16.        $body .= "Użytkownikowi został wyświetlony następujący komunikat:".$error_output;
  17.        $body .= "</body>";
  18.        $body .= "</html>";
  19.        
  20.        $headers = "MIME-Version: 1.0r\n";
  21.        $headers .= "Content-type: text/html; charset=utf-8r\n";
  22.        
  23.        $headers .= "From: Serwer Apache <jakisadres[malpa]gmail.com>r\n";
  24.        $headers .= "CC: jakisadres[malpa]gmail.comr\n";
  25.        
  26.        mail($to, $subject, $body, $headers) or die("error");
  27.    }
  28.    
  29.    $date = getdate();
  30.    $full_date = $date['weekday'].", ".$date['month']." ".$date['mday'].", ".$date['year'];
  31.    $full_time = $date['hours'].":".$date['minutes'].":".$date['seconds'].":".$date['year'];
  32.    
  33.    
  34.    $error_no = $_SERVER['QUERY_STRING'];
  35.    $request_page = $SERVER['REQUEST_URI'];
  36.    
  37.    switch ($error_no) {
  38.        case 400:
  39.            $error_output = "<h1>Strona błędu - &quot;Błędne żądanie &quot; (Kod błędu: 400)</h1>";
  40.            $error_output .= "Przeglądarka przesłała błędne żądanie.<br>";
  41.            $error_output .= "<a href=\"mailto:sysadmin@localhost.com\">Skontaktuj sie z administratorem systemu";
  42.         $error_output .= " jeśli uważasz ze ten błąd nie powinien mieć miejsca";
  43.            
  44.         email_admin($error_no, $error_output, $full_date, $full_time, $request_page);
  45.         break;
  46. ?>


Teraz pytanie:

Czy adres mailowy zdefiniowany w pliku php.ini ma cokolwiek wspolnego z tym adresem mail ktory jest wpisany tutaj jako adres nadawcy maila ?
No i druga sprawa czy widzi tutaj ktos jakis błąd bo funkcja mail generuje mi błąd w tej linijce :

  1. <?php
  2. mail($to, $subject, $body, $headers) or die("error");
  3. ?>


Czyli poprostu wyswietla mi sie błąd
Cytat
error


Moim zdaniem wszystko wyglada prawidlowo tylko nie wiem jak to jest z tymi adresami mail, czy wszystkie adresy To:, From: i Cc mogą być takie same ? Bo w skrypcie mam taki sam adres we wszystkich polach.....

Ten post edytował Wolfie 25.04.2009, 17:41:41
Go to the top of the page
+Quote Post
KCG
post 26.04.2009, 10:44:12
Post #2





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


Masz smtp na serwerze? Włącz wyświetlanie wszystkich błędów i bez tego die() mail() powinno coś wygenerować raczej.


--------------------
9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..."
Go to the top of the page
+Quote Post
Wolfie
post 26.04.2009, 10:46:47
Post #3





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Generuje cos takiego :

Cytat
Array ( [type] => 2 [message] => mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() [file] => C:\Apache\htdocs\error.php [line] => 31 ) 1


A moje ustawienia w php.ini to :
Cytat
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25


Ktos moze powiedziec co moze byc nie tak ?

Ten post edytował Wolfie 26.04.2009, 11:08:39
Go to the top of the page
+Quote Post
KCG
post 26.04.2009, 11:26:30
Post #4





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


Nie masz serwera SMTP, ściagnij sobie jakiś Free SMTP Server, czy coś, ale generalnie to lepiej testuj na jakimś zewnętrznym, który ma obsługę mail(), z darmowych chyba yoyo. smile.gif


--------------------
9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..."
Go to the top of the page
+Quote Post
Wolfie
post 26.04.2009, 11:28:57
Post #5





Grupa: Zarejestrowani
Postów: 686
Pomógł: 0
Dołączył: 10.11.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Czyli wystarczy ze zainstaluje sobie ten sciagniety darmowy SMTP i juz bedzie smigac czy jeszcze jakies ustawienai w php.ini bede musial zmienic ?

P.S. Dzieki za odpowiedz, w koncu wiem o co biega , od wczoraj poruszylem ten temat 3 razy ale nikt nie byl laskawy napisac tego jednego konkretnego pomocnego zdania smile.gif

Ten post edytował Wolfie 26.04.2009, 11:33:38
Go to the top of the page
+Quote Post
KCG
post 26.04.2009, 11:40:57
Post #6





Grupa: Zarejestrowani
Postów: 449
Pomógł: 4
Dołączył: 1.12.2006

Ostrzeżenie: (0%)
-----


Wtedy mogą wyniknąć nowe problemy, no ale próbuj, będziemy myśleć tongue.gif


--------------------
9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..."
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 15:17