Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie działający formularz kontaktowy
Forum PHP.pl > Forum > PHP
tadekkw21
Witam.
Jestem tutaj nowy więc od razu zaznaczę, że z PHPa jestem totalnym laikiem.
Od kilku dni piszę stronę i mam problem formularzem kontaktowym przeglądnąłem już dziesiątki filmików i tutoriali w Internecie, nawet kilka gotowych kodów.... i dalej nie umiem tego ruszyć. Próbowałem użyć serwerów googla SMTP żeby sprawdzić czy wszystko działa i niestety nie wysyła maili. Po wpisaniu danych do formularza strona przekierowała użytkownika do podstrony z podziękowaniami, ale żadnego maila nie wysłała. Nie wiem czy problem jest w kodzie, czy leży gdzieś indziej. Bardzo proszę o pomoc i wyrozumiałość

  1. <?php
  2.  
  3. $name = $_POST["name"];
  4. $email = $_POST["email"];
  5. $subject = $_POST["subject"];
  6. $message = $_POST["message"];
  7.  
  8.  
  9. try {
  10. $mail = new PHPMailer();
  11. $mail->isSMTP();
  12. $mail->Host = 'smtp.gmail.com';
  13. $mail->Port = 465;
  14. $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
  15. $mail->SMTPAuth = true;
  16.  
  17. $mail->Username = '....';
  18. $mail->Password = '....';
  19.  
  20. $mail->CharSet = 'UTF-8';
  21. $mail->setFrom($email, 'Test działania poczty');
  22. $mail->addAddress('.....');
  23. $mail->addReplyTo('biuro@domena.pl', 'Biuro');
  24.  
  25. $mail->isHTML(true);
  26. $mail->Subject = $_POST['subject'];
  27.  
  28. $message = $_POST['message'];
  29.  
  30.  
  31. $mail->addAttachment('img/html-ebook.jpg');
  32.  
  33. $mail->send();
  34.  
  35.  
  36. } catch (Expection $e){
  37. echo "Błąd wysyłania maila: {$mail->ErrorInfo}";
  38. }
  39.  
  40.  
  41.  
  42.  
  43. else {
  44.  
  45. header('Location: index.php');
  46. exit();
  47. };
  48. ?>
nospor
Nowy nie nowy ale nie umieszcza sie danych do swojego konta google czy zadnego innego konta!
Skasowalem to za ciebie
viking
To było dosć dawno temu ale w gmailu wymagane było włączenie czegoś w panelu żeby działała wysyłka przez zewnętrzne usługi.
tadekkw21
Już wszystko włączyłem co trzeba sadsmiley02.gif
tangel
Kod może nie wysyłać maila z kilku powodów. Oto kilka rzeczy, na które warto zwrócić uwagę:

Ustawienia konta e-mail: Upewnij się, że dane uwierzytelniające (adres e-mail i hasło) są poprawne i że konto e-mail jest skonfigurowane do wysyłania e-maili za pośrednictwem protokołu SMTP.

Ustawienia serwera: Upewnij się, że adres serwera SMTP i port są prawidłowe dla Twojego konta e-mail. Jeśli używasz konta Gmail, powinny to być 'smtp.gmail.com' i 465.

Zabezpieczenia: Upewnij się, że Twoje konto e-mail jest skonfigurowane do używania protokołu bezpieczeństwa SMTPS (Secure SMTP).

Odbiorca: Upewnij się, że adres e-mail odbiorcy jest poprawny.

Błąd try-catch: W linii "catch (Expection $e)" powinno być "catch (Exception $e)"

Blok else - jest on niepotrzebny i powinien być usunięty.

Sprawdź czy serwer obsługuje wysyłanie maili przez PHP i czy jest ono skonfigurowane poprawnie.

Sprawdź czy na serwerze nie ma blokad wysyłania maili na inne adresy niż te z domeny serwera.
Robertus
Do 30 maja 2022 była możliwość załączenia w Gmailu opcji łączenia się przez mniej bezpieczne aplikacje.
Obecnie niemożliwe jest łączenie w sposób jaki masz w tym kodzie.

Tutaj znalazłem poradnik (po angielsku) jak można to ogarnąć: https://mailtrap.io/blog/phpmailer-gmail/
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-2024 Invision Power Services, Inc.