Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]MailHandler formularz kontaktowy
Forum PHP.pl > Forum > Przedszkole
Petterros
Witam!
Stworzyłem stronę internetową korzystając z szablonu KLIK.
Jednak mam problem z formularzem kontaktowym. Treść mail handlera wygląda tak:

  1. <?php
  2.  
  3. //SMTP server settings
  4. $host = "";
  5. $port = "";
  6. $username = "";
  7. $password = "";
  8.  
  9.  
  10. $messageBody = "";
  11.  
  12. if($_POST['name']!='false'){
  13. $messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";
  14. $messageBody .= '<br>' . "\n";
  15. }
  16. if($_POST['email']!='false'){
  17. $messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";
  18. $messageBody .= '<br>' . "\n";
  19. }else{
  20. $headers = '';
  21. }
  22. if($_POST['phone']!='false'){
  23. $messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";
  24. $messageBody .= '<br>' . "\n";
  25. }
  26. if($_POST['message']!='false'){
  27. $messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";
  28. }
  29.  
  30. if($_POST["stripHTML"] == 'true'){
  31. $messageBody = strip_tags($messageBody);
  32. }
  33.  
  34. if($host=="" or $username=="" or $password==""){
  35. $owner_email = $_POST["owner_email"];
  36. $headers = 'From:' . $_POST["email"] . "\r\n" . 'Content-Type: text/plain; charset=UTF-8' . "\r\n";
  37. $subject = 'Wiadomość z formularza ' . $_POST["name"];
  38.  
  39. try{
  40. if(!mail($owner_email, $subject, $messageBody, $headers)){
  41. throw new Exception('mail failed');
  42. }else{
  43. echo 'mail sent';
  44. }
  45. }catch(Exception $e){
  46. echo $e->getMessage() ."\n";
  47. }
  48. }else{
  49. require_once 'Mail.php';
  50.  
  51. $to = $_POST["owner_email"];
  52. $subject = 'A message from your site visitor ' . $_POST["name"];
  53. $headers = array (
  54. 'From' => 'From:' . $_POST["email"] . "\r\n" . 'Content-Type: text/plain; charset=UTF-8' . "\r\n",
  55. 'To' => $to,
  56. 'Subject' => $subject);
  57.  
  58. $smtp = Mail::factory(
  59. 'smtp',
  60. 'host' => $host,
  61. 'port' => $port,
  62. 'auth' => true,
  63. 'username' => $username,
  64. 'password' => $password));
  65.  
  66. $mail = $smtp->send($to, $headers, $messageBody);
  67.  
  68. try{
  69. if(PEAR::isError($mail)){
  70. echo $mail->getMessage();
  71. }else{
  72. echo 'mail sent';
  73. }
  74. }catch(Exception $mail){
  75. echo $mail->getMessage() ."\n";
  76. }
  77. }
  78. ?>


Nie za bardzo wiem jak go uzupełnić, tj. na pewno nie chciał bym podawać w pierwszych polach danych konta mailowego z uwagi na bezpieczeństwo.
Czy ktoś może mi podpowiedzieć?
Turson
Jeżeli serwer może wysyłać e-maile bez SMTP to nie musisz tam nic podawać, w przeciwnym wypadku musisz. Z uwagi na jakie bezpieczeństwo? Nikt tego nie podejrzy jak nie dasz przypadkiem nikomu dostępu do pliku
Petterros
Serwer obsługuje, mam na nim jeszcze jedną stronę, w której musiałem tylko wpisać docelowy email.
A w tym gdzie powinienem go umieścić?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.