У меня есть форма на моем веб-сайте, которая должна иметь возможность отправлять электронную почту с помощью PHPmailer через gmail.Я выбрал PHPmailer, потому что бесплатный хостинг, который я использую, не позволяет использовать функцию mail () в php.Я знаю, что этот вопрос был в течение долгого времени, но ни один из ответов, которые я читал из других подобных постов, не работал для меня.Корень проблемы в том, что я получаю сообщение об ошибке, и я не уверен, связано ли это с кодом PHP или с проблемой Gmail.Это только последняя строка ошибки SMTP Error: Could not authenticate
.
Я подправил настройки из gmail, включив доступ к менее защищенному приложению в настройках Google, уже перешел по этой ссылке -> http://www.google.com/accounts/DisplayUnlockCaptcha, дважды сбросил пароль без специальных символов и обновил их в моемPHP-код.Пока ничего не получалось.
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
if (isset($_POST['submit'])){
require_once 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Username = '@@@'; //My user name
$mail->Password = '@@@'; //My password
$mail->setFrom($_POST['email'],$_POST['name']);
$mail->addAddress('lmnlisbautista@gmail.com');
$mail->addReplyTo($_POST['email']);
$mail->isHTML(true);
$mail->Subject='Form Submission:';
$mail->Body='<h1>Name :'.$_POST['name'].'<br>Email: '.$_POST['email'].
'<br>Message: '.$_POST['message'].'</h1>';
$mail->send();
echo 'Message has been sent!';
} catch(Exception $e){
echo "Message could not be sent! Error: {$mail->ErrorInfo}";
}
}
?>