Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]MailHandler formularz kontaktowy
Petterros
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


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ć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


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
Go to the top of the page
+Quote Post
Petterros
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2012

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


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ć?
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 Aktualny czas: 19.08.2025 - 13:36