Форма обратной связи для сайта. PHPMailer. Отправка на email и в Telegram

PHPMailer – библиотека на языке PHP для отправки электронной почты через SMTP-сервер

GitHub – https://github.com/PHPMailer/PHPMailer

Отправка в Telegram

Инструкция – https://www.youtube.com/watch?v=yTeI_crd7TE и https://verstach.ru/kak-nastroit-formu-obratnoj-svyazi-na-sajte-v-telegram/

Мой php код

В данном файле настроена отправка и на email и в Telegram

<?php
require 'phpmailer/PHPMailer.php';
require 'phpmailer/SMTP.php';
require 'phpmailer/Exception.php';

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

if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $name = $_POST["name"]; // имя
    $phone = $_POST["phone"]; // телефон
    $city = $_POST["city"]; // город
    $referer = @$_SERVER['HTTP_REFERER']; // ссылка, с какой страницы отправлено 
    
    // Извлекаем часть ссылки после последнего слеша. Это для телеграма, чтобы не отображал мета-теги в заявке по ссылке
    $refererPath = basename($referer);
    // 

    $to = "yroslav57@yandex.ru";  // на какой адрес будут приходить все сообщения
    $subject = "Новая заявка с сайта";
    $message = "Имя: " . $name . "\nТелефон: " . $phone . "\nГород: " . $city . "\nСсылка: " . $referer;

    $mail = new PHPMailer(true);
	// я использую smtp яндекс, поэтому указываю его настройки
    try {
        $mail->isSMTP();
        $mail->Host = 'smtp.yandex.ru';
        $mail->SMTPAuth = true;
        $mail->Username = 'test@yandex.ru'; // email с которого будут отправляться сообщения
        $mail->Password = 'пароль';  // пароль от этого email
        $mail->SMTPSecure = 'ssl';
        $mail->Port = 465;

        $mail->setFrom('test@yandex.ru', 'Мой Сайт'); // email с которого будут отправляться сообщения и любое название(можно название не указывать)
        $mail->addAddress($to);

        $mail->isHTML(false);
        $mail->Subject = $subject;
        $mail->Body = $message;

        $mail->send();

        // Отправка уведомления в телеграм
        $token = "указываем_токен"; // Тут пишем токен
        $chat_id = "указываем_id_чата"; // Тут пишем ID чата, куда будут отправляться сообщения
        // $sitename = "Мой сайт"; //Указываем название сайта
        
        $arr = array(
        'Город:' => $city,
        // 'Заказ с сайта: ' => $sitename,
        'Имя: ' => $name,
        'Телефон: ' => $phone,
        'Ссылка:' => $refererPath,
        
        
        );
        
        foreach($arr as $key => $value) {
        $txt .= "<b>".$key."</b> ".$value."%0A";
        };
        
        $sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
        // End Отправка уведомления в телеграм

        echo "Спасибо за обращение!<br>Перезвоним в ближайшее время.";
    } catch (Exception $e) {
        echo "Ошибка при отправке почты. Пожалуйста, свяжитесь с администратором сайта. Ошибка: {$mail->ErrorInfo}";
    }
} else {
    echo "Что-то пошло не так, попробуйте ещё раз.";
}
?>