Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHPmailer problem
Forum PHP.pl > Forum > PHP
Pietronsoh
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. ?>
Pyton_000
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.
Pietronsoh
Super, działa!

Mam jeszcze jedno pytanie: Jak ustawić żeby na maila też przychodziły polskie znaki?
Pyton_000
Kodowanie strony na UTF-8
i dodać prewencyjnie do skryptu:

$mail->CharSet = "UTF-8";
Pietronsoh
Dzięki wielkie za pomoc.
Pozdrawiam!
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.