ОШИБКА SMTP на phpmailer с правильными учетными данными - PullRequest
0 голосов
/ 04 мая 2020

Я сделал все изменения, отключил двухэтапную проверку, а также включил менее безопасное приложение. Но когда я вижу PHP почтовик, который отправляет письмо, он выводит мне эту ошибку. Тот же код работал нормально в localhost, но когда я загружал его на сервер, он вызывал эту ошибку. Я использую AWS сервер SMTP ОШИБКА: сбой команды пароля: Как я могу обойти это, чтобы использовать мою контактную форму веб-сайта

    <?php
get_header(); ?>
<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;


if (isset($_POST['submit'])) {


    require 'wp-content/themes/oceanwp/PHPMailer-master/src/Exception.php';
    require 'wp-content/themes/oceanwp/PHPMailer-master/src/PHPMailer.php';
    require 'wp-content/themes/oceanwp/PHPMailer-master/src/SMTP.php';

    // require 'vendor/autoload.php';

    // Instantiation and passing `true` enables exceptions
    $mail = new PHPMailer(true);

    try {
        //Server settings
        $mail->SMTPDebug = 1;                      // Enable verbose debug output
        $mail->isSMTP();                                            // Send using SMTP
        $mail->Host       = 'smtp.gmail.com';                    // Set the SMTP server to send through
        $mail->SMTPAuth   = true;                                   // Enable SMTP authentication
        $mail->Username   = '*****@gmail.com';                     // SMTP username
        $mail->Password   = '******';                               // SMTP password
        $mail->SMTPSecure = 'tls';         // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
        $mail->Port       = 587;                                    // TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above

        //Recipients
        $mail->setFrom($_POST['email_of_user'], $_POST['name_of_user']);
        $mail->addAddress('&&&&@gmail.com', 'Joe User');     // Add a recipient
        $mail->addAddress('&&&&@gmail.com', 'VASTRA');               // Name is optional

        // Content
        $mail->isHTML(true);                                  // Set email format to HTML
        $mail->Subject = $_POST['subject_of_user'] ;
        $mail->Body    = '<p style="text-align:center">'.$_POST['message_of_user'].'</p>';
        $mail->AltBody = 'I have a qquery';

        $mail->send();
        echo 'Message has been sent';
    } catch (Exception $e) {
        echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
    }
} //end if loop


?>

1 Ответ

0 голосов
/ 04 мая 2020

Вы можете просто использовать этот пример:

require_once "vendor/autoload.php";

//PHPMailer Object
$mail = new PHPMailer;

//From email address and name
$mail->From = "from@yourdomain.com";
$mail->FromName = "Full Name";

//To address and name
$mail->addAddress("recepient1@example.com", "Recepient Name");
$mail->addAddress("recepient1@example.com"); //Recipient name is optional

//Address to which recipient will reply
$mail->addReplyTo("reply@yourdomain.com", "Reply");

//CC and BCC
$mail->addCC("cc@example.com");
$mail->addBCC("bcc@example.com");

//Send HTML or Plain Text email
$mail->isHTML(true);

$mail->Subject = "Subject Text";
$mail->Body = "<i>Mail body in HTML</i>";
$mail->AltBody = "This is the plain text version of the email content";

if(!$mail->send()) 
{
    echo "Mailer Error: " . $mail->ErrorInfo;
} 
else 
{
    echo "Message has been sent successfully";
}

В этом примере используется простая электронная почта домена и она отправляется без установленного пароля или какого-либо параметра smtp

...