✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak rozwiązać SMTP: nie można uwierzytelnić za pomocą Gmaila + PHPMailer?

80

Wysyłanie wiadomości e-mail przez PHPMailer jest często skryptowane przez PHP, jeśli zamierzasz wysyłaćpowiadomienia e-mail o nowych komentarzach na swoim blogu WordPress lub gdy serwer jest przeciążony wysokimi skokami procesora (poprzez czas pracy pokazujący średnie obciążenia w ciągu ostatnich 1, 5 i 15 minut).

Jeśli korzystasz z Gmaila, najprawdopodobniej Google Gmail zgłosi się z błędem: Nie można uwierzytelnić, nawet jeśli wpisałeś poprawne hasło do swojego konta Gmail.

Umieszczenie hasła do konta bezpośrednio w skrypcie nie jest dobrym pomysłem, a prawidłowym sposobem rozwiązania tego problemu i uniknięcia wycieku hasła do głównego konta jest użycie hasła do aplikacji. Alternatywnie możesz dostosować ustawienia zabezpieczeń dla mniej zabezpieczonych aplikacji – co może nie działać, ponieważ jest to tylko skrypt PHP.

Hasło do aplikacji można ustawić osobno dla każdej indywidualnej aplikacji, a także można je ponownie wygenerować, jeśli zostanie naruszone.

Musisz odwiedzić Panel bezpieczeństwa Google: https://myaccount.google.com/security

Jak rozwiązać SMTP: nie można uwierzytelnić za pomocą Gmaila + PHPMailer?

bezpieczeństwo-hasła-aplikacji-google

Następnie dodaj hasło do aplikacji (wybierz GMail i inne – nadaj aplikacji nazwę) – które może być używane w PHPMailerze – w przypadku wycieku hasła zawsze możesz je usunąć i ponownie wygenerować nowe.

Jak rozwiązać SMTP: nie można uwierzytelnić za pomocą Gmaila + PHPMailer?

hasła-aplikacji google

Następnie należy użyć następującego przykładowego kodu PHPMailera do testowania poczty e-mail.

#!/usr/bin/php
<?php
  use PHPMailerPHPMailerPHPMailer;
  use PHPMailerPHPMailerException;
  
  require 'PHPMailer/src/Exception.php';
  require 'PHPMailer/src/PHPMailer.php';
  require 'PHPMailer/src/SMTP.php';
 
  $host = "<a class="vglnk" target="_blank" href="http://smtp.gmail.com" rel="nofollow"><span>smtp</span><span>.</span><span>gmail</span><span>.</span><span>com</span></a>";
  $port = 587;
  $secure = "tls";
//  or the following configurations through SSL should work as well. 
//  $port = 465;
//  $secure = "ssl";
  $username = "Your GMAIL email";
  $password = "Your GMAIL App Password";
  
  try {
    $mailer = new PHPMailer(true);
    $mailer->IsHTML(true);
    $mailer->IsSMTP();
    $mailer->From = $username;
    $mailer->FromName = $username;
    $mailer->ClearAllRecipients();
    $mailer->AddAddress("Recipent Email Address", "Recipent");
    $mailer->Subject = "Subject ";
    $mailer->Body = "Hello, time is: ". date("Y-m-d h:i:s");
    $mailer->SMTPAuth   = true;       // enable SMTP authentication
    $mailer->SMTPSecure = $secure;    // sets the prefix to the servier
    $mailer->Host       = $host;      // sets GMAIL as the SMTP server
    $mailer->Port       = $port;      // set the SMTP port for the GMAIL server
    $mailer->Username   = $username;  // GMAIL username
    $mailer->Password   = $password;  // GMAIL password
    $result = $mailer->Send();  
    echo "Mail sentn";
  } catch  (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ';
    var_dump($e);
  }  

Pamiętaj, że musisz również zaktualizować ustawienia poczty e-mail we wtyczce WordPress – SMTP. I upewnij się, że masz następujące dane uwierzytelniające do Gmaila zaktualizowane w wp-settings.php

define( 'WPMS_ON', true );
define( 'WPMS_SMTP_PASS', 'You GMAIL App Password' );

Źródło nagrywania: helloacm.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów