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>
<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>
<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
; 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
; 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.