Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Funkcja mail() nie dostarcza niektórych wiadomości
Cya
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 15.12.2009

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


Mam przedziwny problem... Na stronie potrzebowałam formularza, więc wyszukałam w internecie jak najbardziej wiarygodny (znaczy taki z dużą ilością dobrych opinii, bo na PHP nie znam się prawie wcale, jestem na etapie zmiennych...), który wygląda tak:

  1. <?php
  2.  
  3. $do="Kidblack <kidblack@interia.pl>".",";$do.="Garcinda <garcinda@interia.eu>";
  4.  
  5. if (empty($_POST['submit0512092'])) {
  6.  
  7. echo "<table border=\"0\"><form method=\"post\"><tr><td>Treść wiadomości</td><td><textarea name=\"tresc0512092\" style=\"width: 250px; height: 100px\"></textarea></td></tr><tr><td>Imię i nazwisko</td><td><input type=\"text\" name=\"imie0512092\" style=\"width: 250px\"></td></tr><tr><td>Adres e-mail</td><td><input type=\"text\" name=\"email0512092\" style=\"width: 250px\"></td></tr><tr><td> </td><td><input type=\"submit\" name=\"submit0512092\" value=\"Wyślij\"> </td></form></tr></table>"
  8. ;}
  9.  
  10. elseif (!empty($_POST['tresc0512092']) && !empty($_POST['imie0512092']) && !empty($_POST['email0512092'])) {
  11.  
  12. $message = "Indeks imprezy: 0512092\nTresć wiadomosci:\n$_POST[tresc0512092]\n\nWiadomosć od: $_POST[imie0512092]\nE-mail: $_POST[email0512092]";
  13.  
  14. $header = "From: $_POST[imie0512092] <$_POST[email0512092]>";@mail($do,"Wiadomosc ze strony","$message","$header")or die('Nie udało się dodać komentarza.');
  15.  
  16. echo "<span style=\"color: #000000\">Komentarz został dodany. Będzie dostępny zaraz po moderacji.</span><br><br>
  17.  
  18. <table border=\"0\"><form method=\"post\"><tr><td>Treść wiadomości</td><td><textarea name=\"tresc0512092\" style=\"width: 250px; height: 100px\"></textarea></td></tr><tr><td>Imię i nazwisko</td><td><input type=\"text\" name=\"imie0512092\" style=\"width: 250px\"></td></tr><tr><td>Adres e-mail</td><td><input type=\"text\" name=\"email0512092\" style=\"width: 250px\"></td></tr><tr><td> </td><td><input type=\"submit\" name=\"submit0512092\" value=\"Wyślij\"> </td></form></tr></table>"
  19. ;}
  20.  
  21. else echo "<span style=\"color: #000000\">Wypełnij wszystkie pola formularza!</span><br><br>
  22.  
  23. <table border=\"0\"><form method=\"post\"><tr><td>Treść wiadomości</td><td><textarea name=\"tresc0512092\" style=\"width: 250px; height: 100px\"></textarea></td></tr><tr><td>Imię i nazwisko</td><td><input type=\"text\" name=\"imie0512092\" style=\"width: 250px\"></td></tr><tr><td>Adres e-mail</td><td><input type=\"text\" name=\"email0512092\" style=\"width: 250px\"></td></tr><tr><td> </td><td><input type=\"submit\" name=\"submit0512092\" value=\"Wyślij\"> </td></form></tr></table>"
  24. ;
  25.  
  26. ?>



Problemem jest to, że formularz wysyła tylko niektóre wiadomości, nie wiem, na jakiej zasadzie je wybierając. Wiadomości ode mnie dochodzą, prosiłam też kilka innych osób, by wysłały test i ich wiadomości też doszły. A tymczasem inni skarżą się, ze ich nie dochodzą. Czego to jest wina? Kodu? Bardzo bym prosiła o jakąś małą pomoc, bo dostaję już tu białej gorączki. Jeśli ktoś ma jakiś lepszy gotowiec, też chętnie zobaczę...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To ja to wytłumaczę inaczej... Serwer SMTP jest "pośrednikiem" między Tobą a Twoimi klientami. Piszesz maila i wysyłasz go funkcją mail czy jakąś inną. Użycie SMTP na serwerze jest dla Ciebie niewidoczne jeśli używasz zwykłej funkcji mail(). Domyślnie bowiem przy wysyłce używa on SMTP serwera, na którym stoi Twoja strona (o ile serwis go posiada lub nie zablokował). Używając klasy PhpMailer skrypt prosi Cię jawnie o te dane.
Dlatego napisano "wirtualny Outlook". W nim też musisz te dane podać przy tworzeniu konta pocztowego. Chyba pamiętasz, że wtedy prosi Cię o adresy serwera POP3 i SMTP (lub IMAP) ?
Tu jest identycznie. Maile wtedy zamiast iść przez serwer SMTP, Twojej strony, są wysyłane poprzez serwer SMTP, który podałaś podczas konfiguracji.
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 10.10.2025 - 00:00