Техническое задание: Интеграция функционала отправки для формы обратной связи

Цель проекта

Реализовать серверную логику для обработки данных из уже сверстанной клиентской формы обратной связи. Данные должны отправляться на два канала: указанный email-адрес и в Telegram-чат через бота.

Исходные условия

  • Фронтенд-часть (HTML/CSS/JS верстка формы) уже готова.
  • Форма содержит стандартные поля (например, имя, контакт, сообщение).
  • Требуется разработать или доработать бэкенд-скрипт для приема и обработки данных.

Основные требования

1. Обработка и отправка данных

  • Написать скрипт (PHP/Python/Node.js - на усмотрение исполнителя), который будет принимать POST-запрос от формы.
  • Организовать двойную отправку данных:
    • На заданный email-адрес в виде письма.
    • В указанный Telegram-чат через API бота.
  • Формат и оформление сообщений (тема письма, текст в Telegram) должны быть читаемыми и содержать все данные из формы.

2. Валидация данных

  • Реализовать проверку всех обязательных полей на стороне сервера.
  • Валидировать корректность формата email и, при необходимости, номера телефона.
  • Проверять длину текстовых полей (минимальную/максимальную).
  • При обнаружении ошибок возвращать пользователю понятное сообщение с указанием, какие поля нужно исправить.

3. Обратная связь пользователю

  • При успешной отправке данных выводить соответствующее уведомление на странице с формой.
  • При ошибках отправки (проблемы с SMTP, Telegram API и т.д.) логировать ошибку и информировать пользователя о технической неполадке.

4. Безопасность

  • Защитить скрипт от прямого доступа и спам-атак (например, с помощью проверки реферера или простой капчи, если это предусмотрено).
  • Экранировать пользовательский ввод перед отправкой в письме и Telegram для предотвращения инъекций.

Результат работы

  • Рабочий серверный скрипт, интегрированный с существующей формой.
  • Корректная отправка заявок на почту и в Telegram.
  • Надежная валидация всех полей.
  • Краткая документация по настройке (указание email, токена Telegram-бота, ID чата).