Содержание
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 "Что-то пошло не так, попробуйте ещё раз.";
}
?>
