@S3r

Почему не отправляется сообщение?

<?php
// Подключаем библиотеку PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
 
// Создаем письмо
$mail = new PHPMailer();
$mail->isSMTP();                   // Отправка через SMTP
$mail->Host   = 'smtp.gmail.com';  // Адрес SMTP сервера
$mail->SMTPAuth   = true;          // Enable SMTP authentication
$mail->Username   = 'sergey';       // ваше имя пользователя (без домена и @)
$mail->Password   = '132123132';    // ваш пароль
$mail->SMTPSecure = 'ssl';         // шифрование ssl
$mail->Port   = 465;               // порт подключения
 
$mail->setFrom('j.zero@mail.ru', 'Иван Иванов');    // от кого
$mail->addAddress('serg@gmail.com', 'Вася Петров'); // кому

$mail->Subject = 'Тест';
$mail->msgHTML("<html><body>
                <h1>Здравствуйте!</h1>
                <p>Это тестовое письмо.</p>
                </html></body>");
// Отправляем
if ($mail->send()) {
  echo 'Письмо отправлено!';
} else {
  echo 'Ошибка: ' . $mail->ErrorInfo;
}  
?>
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 1
Big_Alex
@Big_Alex
молод и перспективен
//Include required PHPMailer files
require 'vendor/phpmailer/phpmailer/src/PHPMailer.php';
require 'vendor/phpmailer/phpmailer/src/SMTP.php';
require 'vendor/phpmailer/phpmailer/src/Exception.php';
//Define name spaces
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

//Create instance of PHPMailer
$mail = new PHPMailer();
//Set mailer to use smtp
$mail->isSMTP();
//Define smtp host
$mail->Host = "smtp.gmail.com";
//Enable smtp authentication
$mail->SMTPAuth = true;
//Set smtp encryption type (ssl/tls)
$mail->SMTPSecure = "tls";
//Port to connect smtp
$mail->Port = "587";
//Set gmail username
$mail->Username = "username@GMAIL.COM";
//Set gmail password
$mail->Password = "password";
//Email subject
$mail->Subject = "Test email using PHPMailer";
//Set sender email
$mail->setFrom('username@GMAIL.COM');
//Enable HTML
$mail->isHTML(true);
//Email body
$mail->Body = "<h1>This is HTML h1 Heading</h1></br><p>This is html paragraph</p>";
//Add recipient
$mail->addAddress('recipient@mail.com');
//Finally send email
if ( $mail->send() ) {
    echo "Email Sent..!";
}else{
    echo "Message could not be sent. Mailer Error:" . $mail->ErrorInfo;
	}
//Closing smtp connection
$mail->smtpClose();


1. Используйте TLS
2. Username - полностью с собакой..
3. Проверьте в Гугл аккаунте разрешен ли доступ ненадёжных приложений...

что бы избежать пункта 3, обратите внимание на реализацию с помощью OAUTH

! обратите внимание, что адрес отправителя письма должен совпадать с логином в гугло-почту
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
АКМЭ сервис Санкт-Петербург
от 120 000 до 150 000 ₽
Директ Кредит Казань
от 70 000 до 120 000 ₽
SymbioWay Москва
от 120 000 до 180 000 ₽