Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wysyłka maila za pomocą PHPMailer
Patricco90
post 19.03.2018, 11:45:57
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 17.03.2014

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


Witam, pobrałem PHPMailer z github PHPMailer

kolejno przystosowałem kod pod wysyłkę z gmaila:
  1. require_once('PHPMailer3/PHPMailerAutoload.php');
  2.  
  3. $mail = new PHPMailer;
  4. $mail->CharSet = "UTF-8";
  5.  
  6. $mail->IsSMTP();
  7. $mail->Host = 'smtp.gmail.com';
  8. $mail->Port = 465;
  9. $mail->SMTPAuth = true;
  10.  
  11. $mail->Username = "mail";
  12. $mail->Password = "haslo";
  13. $mail->SMTPSecure = 'ssl';
  14.  
  15. $mail->addAddress('emailto');
  16.  
  17. $mail->Subject = 'Tytuł wiadomości';
  18. $mail->Body = 'Treść wiadomości w HTML';
  19. $mail->AltBody = 'Treść wiadomości jako tekst';
  20.  
  21. if(!$mail->Send()) {
  22. echo 'Mailer Error: ' . $mail->ErrorInfo;
  23. }
  24.  
  25. echo 'Wiadomość wysłana';


W odpowiedzi otrzymuje:

  1. Mailer Error: SMTP connect() failed. <a href="https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting" target="_blank">https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting</a>



Gdzie dane konta gmail są prawidłowe.
Co mogę robić źle?
Go to the top of the page
+Quote Post
Pyton_000
post 19.03.2018, 12:13:43
Post #2





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

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


wywal $mail->IsSMTP();

i ew. zmień ssl na tsl

Ten post edytował Pyton_000 19.03.2018, 13:37:44
Go to the top of the page
+Quote Post
Patricco90
post 19.03.2018, 13:18:48
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 17.03.2014

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


A jeżeli na serwerze zablokowali funkcję mail()
to PHPMailer zadziała?

bo teraz otrzymuje odp:
  1. Mailer Error: Nie można wywołać funkcji mail(). Sprawdź konfigurację serwera.
Go to the top of the page
+Quote Post
nospor
post 19.03.2018, 13:29:39
Post #4





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




No skoro teraz zmieniles ustawienia phpmailer, by korzystal z mail() to tak, wowczas mail() jest wymagane... W pierwszym poscie slales przez gmail wiec mail() nie bylo wymagane

@Pyton a niby czemu ma wywalic $mail->IsSMTP(); ? Cos chyba nie tak...

@Patricco
https://github.com/PHPMailer/PHPMailer/blob...ples/gmail.phps
masz tam podana prawidlowa konfiguracje dla gmail


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post 19.03.2018, 13:38:07
Post #5





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

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


@nospor fakt, pomyliło mi się z isSSL() smile.gif
Go to the top of the page
+Quote Post
Patricco90
post 19.03.2018, 14:43:57
Post #6





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 17.03.2014

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


1. gmail mi już zadziałał - problem polegał na blokowaniu konta przez google wink.gif

2. chciałbym teraz użyć jednak poczty z hostingu i problem a podmieniam tylko dane

mam do wyboru:
  1. $mail->Port = 587;
  2. $mail->SMTPSecure = 'STARTTLS';


or

  1. $mail->Port = 465;
  2. $mail->SMTPSecure = 'SSL / TLS';



Ale na żadnej opcji nie przechodzi a jeszcze zmulam hosting

  1. $mail->SMTPDebug = 2;

i wynik następujący:
  1. 2018-03-19 13:41:53 SERVER -> CLIENT: 220 host1.xxx.pl ESMTP Exim 4.84_2 Mon, 19 Mar 2018 14:41:53 +0100
  2. 2018-03-19 13:41:53 CLIENT -> SERVER: EHLO link.pl
  3. 2018-03-19 13:41:53 SERVER -> CLIENT: 250-host1.xxx.pl Hello host1.xxx.pl [xx.xxx.xx.xx]250-SIZE 52428800250-8BITMIME250-PIPELINING250-AUTH PLAIN LOGIN250-STARTTLS250 HELP
  4. 2018-03-19 13:41:53 CLIENT -> SERVER: STARTTLS
  5. 2018-03-19 13:41:54 SERVER -> CLIENT: 220 TLS go ahead
  6. Błąd SMTP: Nie można połączyć się z wybranym hostem.
  7. 2018-03-19 13:41:54 CLIENT -> SERVER: QUIT
  8. 2018-03-19 13:41:54
  9. 2018-03-19 13:41:54
  10. SMTP Connect() zakończone niepowodzeniem. <a href="https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting" target="_blank">https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting</a>
  11. Mailer Error: SMTP Connect() zakończone niepowodzeniem. <a href="https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting" target="_blank">https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting</a>


Ten post edytował Patricco90 19.03.2018, 14:01:05
Go to the top of the page
+Quote Post
Pyton_000
post 19.03.2018, 14:45:51
Post #7





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

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


Do zmiennej masz wstawić SSL lub TSL a nie tak jak masz wink.gif
Go to the top of the page
+Quote Post
Patricco90
post 20.03.2018, 15:12:12
Post #8





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 17.03.2014

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


wiem, próbowałem z ssl, i tls

ponawiam temat, ciągle mam zwrotkę jak w przedostatnim poscie.
Ma ktoś na to radę?
Go to the top of the page
+Quote Post
Pyton_000
post 20.03.2018, 16:36:37
Post #9





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

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


Może tam gdzie próbujesz się połączyć nie jest aktywny SMTP, albo łączysz się nie na ten host co trzeba...

Co to za hosting?
Go to the top of the page
+Quote Post
Patricco90
post 20.03.2018, 21:15:23
Post #10





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 17.03.2014

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


Wina certyfikatów na serwerze? PHPMailer 6.0

  1. 2018-03-20 20:13:45 Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed [/home/web/name.pl/public_html/PHPMailer6/src/SMTP.php line 389]
  2. Błąd SMTP: Nie można połączyć się z wybranym hostem.
  3. 2018-03-20 20:13:45 CLIENT -> SERVER: QUIT
  4. 2018-03-20 20:13:45 Connection: closed
  5. Błąd SMTP: Nie można połączyć się z wybranym hostem.
Go to the top of the page
+Quote Post
leonpro778
post 21.03.2018, 09:36:18
Post #11





Grupa: Zarejestrowani
Postów: 146
Pomógł: 19
Dołączył: 1.03.2012

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


Linijkę:

  1. $mail->SMTPSecure = 'STARTTLS';


Zamień na:
  1. // $mail->SMTPSecure = 'STARTTLS';


Daj znać czy poszło (na serio, to nie żart smile.gif )
Go to the top of the page
+Quote Post
Tomplus
post 21.03.2018, 10:14:20
Post #12





Grupa: Zarejestrowani
Postów: 1 836
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Jeżeli chcesz użyć SSL, to niektóre serwery potrzebują dodatkowe opcje.

  1.  
  2. $this->mailer->SMTPOptions = ['ssl' => [
  3. 'verify_peer' => false,
  4. 'verify_peer_name' => false,
  5. 'allow_self_signed' => true
  6. ]];
  7. }


Ten post edytował Tomplus 21.03.2018, 10:15:02
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: 24.04.2024 - 10:42