Как сделать вывод отладочной информации в phpmailer?

У меня есть следующий код. Выходит ошибка:

desc: "Причина ошибки: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting"info: "Сообщение не было отправлено. Ошибка при отправке письма"
result: "error"

Я хочу вывести отладочную информацию, но не понимаю, где ее подключить, чтобы она выводилась. $mail->SMTPDebug = 3; подключил, но не пойму как выводить информацию. Буду рад любой помощи! Мой код:

if (!error_get_last()) {

    // Переменные, которые отправляет пользователь
    $name = $_POST['yourName'] ;
    $email = $_POST['email'];
    $text = $_POST['select'];
    $file = $_FILES['fileFF'];
    
    
    // Формирование самого письма
    $title = "Заголовок письма";
    $body = "
    <h2>Новое письмо</h2>
    <b>Имя:</b> $name<br>
    <b>Почта:</b> $email<br><br>
    <b>Сообщение:</b><br>$text
    ";
    
    // Настройки PHPMailer
    $mail = new PHPMailer\PHPMailer\PHPMailer();
    
    $mail->isSMTP();   
    $mail->CharSet = "UTF-8";
    $mail->SMTPAuth   = true;
    $mail->SMTPDebug = 3;
    $mail->Debugoutput = function($str, $level) {$GLOBALS['data']['debug'][] = $str;};

    // Настройки вашей почты
    $mail->Host       = 'smtp.yandex.ru'; // SMTP сервера вашей почты
    $mail->Username   = '********'; // Логин на почте
    $mail->Password   = '********'; // Пароль на почте
    $mail->SMTPSecure = 'ssl';
    $mail->Port       = 465;
    $mail->setFrom('**********', 'Name'); // Адрес самой почты и имя отправителя
    
    // Получатель письма
    $mail->addAddress('**********');  
    //$mail->addAddress('[email protected]'); // Ещё один, если нужен
    
    // Прикрипление файлов к письму
    if (!empty($file['name'][0])) {
        for ($i = 0; $i < $file['tmp_name']; $i++) {
            if ($file['error'][$i] === 0) 
                $mail->addAttachment($file['tmp_name'][$i], $file['name'][$i]);
        }
    }
    // Отправка сообщения
    $mail->isHTML(true);
    $mail->Subject = $title;
    $mail->Body = $body;    
    
    // Проверяем отправленность сообщения
    if ($mail->send()) {
        $data['result'] = "success";
        $data['info'] = "Сообщение успешно отправлено!";
    } else {
        $data['result'] = "error";
        $data['info'] = "Сообщение не было отправлено. Ошибка при отправке письма" ;
        $data['desc'] = "Причина ошибки: {$mail->ErrorInfo}";
    }
    
} else {
    $data['result'] = "error";
    $data['info'] = "В коде присутствует ошибка";
    $data['desc'] = error_get_last();
}

// Отправка результата
header('Content-Type: application/json');
echo json_encode($data);

Ответы (2 шт):

Автор решения: Daniele_Taby

Чтобы вывести отладочную информацию, которую предоставляет PHPMailer, вам нужно использовать свойство ErrorInfo. Это свойство будет содержать текст последней ошибки, произошедшей при отправке письма.

→ Ссылка
Автор решения: Denis640Kb

Параметр отладочной информации:

$mail->SMTPDebug = 2;

Данный параметр допускает значения 0,1 и 2. У Вас указан параметр 3:

 * SMTP class debug output mode.
 * Options: 0 = off, 1 = commands, 2 = commands and data
 * @type int
 * @see SMTP::$do_debug
 */
public $SMTPDebug = 0;

и в самой функции, как писал выше Daniele_Taby вывод значения:

if (!$mail->send()) {
   return 'Mailer Error: ' . $mail->ErrorInfo;
} else {
   return 'Сообщение отправлено!';
}
→ Ссылка