Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt wysyłający wiadomość
Wild
post 20.10.2009, 19:41:00
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
Go to the top of the page
+Quote Post
Kszyhuu
post 20.10.2009, 20:31:42
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

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


http://www.w3schools.com/php/php_mail.asp

Zobacz ten skrypt i olej biedne książkowe skrypty testowe. winksmiley.jpg
Go to the top of the page
+Quote Post
Wild
post 22.10.2009, 17:22:21
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
Go to the top of the page
+Quote Post
potreb
post 22.10.2009, 17:46:54
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


--------------------

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: 24.04.2025 - 05:40