![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 3.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Przykład jest z książki, uczę się dopiero PHP i utknąłem przy jednym zadaniu. Mianowicie chodzi o wysyłanie wiadomości email za pomocą formularza. Może wrzucę kod HTML - tworzący formularz oraz skrypt PHP za pomocą którego można wysłać wiadomość na skrzynkę.
Kod HTML - formularz kontkatowy Kod <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title>Listing11.10 - Prosty formularz kontaktowy</title> </head> <body> <form action="wyslij.php" method="POST"> <p><strong>Imię i nazwisko: </strong><br /> <input type="text" size="25" name="imie" /></p> <p><strong>Adres email: </strong><br /> <input type="text" size="25" name="e-mail" /></p> <p><strong>Wiadomość: </strong><br /> <textarea name="wiadomosc" cols="30" rows="5"></textarea></p> <p><input type="submit" value="Wyślij" /></p> </form> </body> </html> Skrypt PHP wysyłający formularz kontaktowy: Kod <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title>Listing 11.11 - Wysyłanie formularza kontaktowego</title> </head> <body> <?php echo "<p><b>".$_POST["imie"]. "</b>, dziękujemy za wypełnienie formularza.</p>"; echo "<p>Twój adres to: <b>" .$_POST["e-mail"]. "</b>.</p>"; echo "<p>Twoja wiadomość to: <br />"; echo $_POST['wiadomosc']. "</p>"; //treść $tresc = "Imię i nazwisko: " .$_POST["imie"]. "\n"; $tresc .= "Adres e-mail: " .$_POST["e-mail"]. "\n"; $tresc .= "Wiadomość: " .$_POST["wiadomosc"]. "\n"; //nagłówki $odbiorca = "skrzysiek08@gmail.com"; $temat = "Formularz kontaktowy"; $naglowki = "From: Strona WWW <skrzysiek08@gmail.com> \r\n"; $naglowki .= "Reply-To: " .$_POST["e-mail"]; //wysyłanie wiadomości mail($odbiorca, $temat, $tresc); ?> </body> </html> Niby jest dobrze, ale pojawia się Warning o następującej treści: Kod Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. 22sm2258353fkq.51 in C:\Program Files\Apache Group\Apache2\htdocs\Rozdzial 11 - Formularze\wyslij.php on line 23 Chyba chodzi o odpowiedz serwera SMTP jak się domyślam, ponieważ email jest chyba wysyłany za pomocą klienta pocztowego, którego mam na kompie zainstalowanego. Klient jest skonfigurowany poprawnie. W książce było napisane, żeby zmienić wartości kilku dyrektyw w pliku konfiguracyjnym php.ini. Kod [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. sendmail_from = me@localhost.com Powyższe dyrektywy zmieniłem na: Kod [mail function] ; For Win32 only. SMTP = smtp.gmail.com smtp_port = 25 ; For Win32 only. sendmail_from = skrzysiek08@gmail.com Proszę o pomoc jestem pewien, że chodzi o wpisy w php.ini, tylko jakie to muszą być wpisy? a może chodzi o coś innego? proszę o pomoc. Ten post edytował Wild 20.10.2009, 19:41:31 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 157 Pomógł: 32 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 3.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie chodzi tutaj o skrypt tylko o ustawienia w pliku php.ini, ale dla pewności sprawdziłem skrypt ze strony i to samo mi wypluwa:
Kod Warning: mail() [function.mail]: SMTP server response: 554 5.7.1 Sender address rejected: SERWER poczta.o2.pl WYMAGA UWIERZYTELNIENIA. Zobacz http://pomoc.o2.pl/poczta/autoryzacja/ i skonfiguruj poprawnie program pocztowy. in C:\Program Files\Apache Group\Apache2\htdocs\mailfrom.php on line 7 Mail Sent. Klienta mam skonfigurowanego poprawnie, więc nie wiem czemu krzyczy, że "SERWER poczta.o2.pl WYMAGA UWIERZYTELNIENIA."? U Was działa "mój" lub skrypt z TEJ STRONY |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Proponuje ci zapoznanie się z phpmailer, mniej zabawy.
Ustawienie w php.ini dyrektyw nie koniecznie pozwoli ci na poprawne wysłanie emaila, musisz mieć chyba klienta poczty, żeby wysłać email. Z locala nie wyślesz, zrób test na jakimś serwerze. Ps. jesteś pewny co do portu w gmailu? Ten post edytował potreb 22.10.2009, 17:48:31 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.04.2025 - 05:40 |