Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHPmailer problem
Pietronsoh
post 12.05.2019, 13:26:04
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.05.2019

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


Witam,

Wywodzę się ze środowiska frontendowego. Z PHP nie mam za dużo do czynienia, jednak dostałem zlecenie na prosty formularz kontaktowy razem backendem oczywiście.
Mam pewien problem, mail jest wysyłany na moją skrzynkę, lecz nie zawiera danych które zostają wypełnione w formularzu (zawiera tylko tekst z body ale bez danych po $). Bardzo proszę Was o pomoc!

Załączam:

HTML
  1. <form action="send.php" method="post" enctype="text/plain">
  2. <div class="form-group">
  3. <input name="name" type="text" class="form-control px-3 py-3" placeholder="Imię i Nazwisko / Firma">
  4. </div>
  5. <div class="form-group">
  6. <input name="email" type="text" class="form-control px-3 py-3" placeholder="Email">
  7. </div>
  8. <div class="form-group">
  9. <input name="phone" type="text" class="form-control px-3 py-3" placeholder="Telefon">
  10. </div>
  11. <div class="form-group">
  12. <textarea name="message" id="" cols="30" rows="7" class="form-control px-3 py-3" placeholder="Treść Wiadomości"></textarea>
  13. </div>
  14. <div class="form-group">
  15. <input name="submit" type="submit" value="Wyślij" class="btn btn-primary py-3 px-5">
  16. </div>
  17.  
  18.  
  19. </form>



PHP
  1. <?php
  2. require 'phpmailer/PHPMailerAutoload.php';
  3.  
  4. $submit = $_POST['submit'];
  5. $name = $_POST['name'];
  6. $phone = $_POST['phone'];
  7. $email = $_POST['email'];
  8. $message = $_POST['message'];
  9.  
  10. $mail = new PHPMailer();
  11.  
  12. $mail->Host = "smtp.email.com";
  13. $mail->isSMTP();
  14. $mail->SMTPAuth = true;
  15.  
  16. $mail->Username="moj.email@email.com";
  17. $mail->Password="mojehaslo";
  18. $mail->SMTPSecure = "ssl";
  19. $mail->Port = 465;
  20.  
  21. $mail->Subject = "Formularz kontaktowy";
  22.  
  23. $mail->isHTML(true);
  24. // set body
  25. $mail->Body = "From: $name\n Phone: $phone\n E-Mail: $email\n Message:\n $message";
  26.  
  27. $mail->setFrom('moj.email@email.com', 'Formularz');
  28.  
  29. $mail->addAddress('moj.email@email.com');
  30.  
  31. if ($mail->send())
  32. echo "mail is sent";
  33. else
  34. echo "$mail->ErrorInfo";
  35. ?>


Ten post edytował Pietronsoh 12.05.2019, 13:27:34
Go to the top of the page
+Quote Post
Pyton_000
post 12.05.2019, 13:32:32
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Powinno działać. Ale albo zmień isHTML na false albo dodaj poniżej Body:

Kod
$mail->AltBody = "From: $name\n Phone: $phone\n E-Mail: $email\n Message:\n $message";


[Edited]
A dobra... Wywal enctype z Form. PHP nie łyka tego i dla tego nie widzisz wartości.

Ten post edytował Pyton_000 12.05.2019, 13:35:19
Go to the top of the page
+Quote Post
Pietronsoh
post 12.05.2019, 13:42:39
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.05.2019

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


Super, działa!

Mam jeszcze jedno pytanie: Jak ustawić żeby na maila też przychodziły polskie znaki?

Ten post edytował Pietronsoh 12.05.2019, 13:43:09
Go to the top of the page
+Quote Post
Pyton_000
post 12.05.2019, 14:03:35
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Kodowanie strony na UTF-8
i dodać prewencyjnie do skryptu:

$mail->CharSet = "UTF-8";
Go to the top of the page
+Quote Post
Pietronsoh
post 12.05.2019, 14:10:01
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.05.2019

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


Dzięki wielkie za pomoc.
Pozdrawiam!
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: 18.04.2024 - 20:32