Files
ptp/FORMS_SETUP.md
T
2025-08-02 11:45:16 +02:00

109 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Настройка форм обратной связи
## Копирование PHP файлов на сервер
```bash
# Скопировать обработчики форм в корень веб-сервера
sudo cp static/send_plan.php /var/www/html/
sudo cp static/send_ask.php /var/www/html/
# Установить права
sudo chown www-data:www-data /var/www/html/send_*.php
sudo chmod 644 /var/www/html/send_*.php
```
## Настройка email
Отредактируйте файлы и замените email получателя:
```bash
# В файле send_plan.php
sudo nano /var/www/html/send_plan.php
# Найти строку: $to = "info@sleeptrip.ru";
# Заменить на ваш email
# В файле send_ask.php
sudo nano /var/www/html/send_ask.php
# Найти строку: $to = "info@sleeptrip.ru";
# Заменить на ваш email
```
## Настройка SMTP (через msmtp)
```bash
# Установить msmtp
sudo apt update && sudo apt install msmtp msmtp-mta
# Создать конфигурацию
sudo tee /etc/msmtprc > /dev/null <<'EOF'
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp.log
# Gmail настройки (замените на ваши)
account gmail
host smtp.gmail.com
port 587
from your-email@gmail.com
user your-email@gmail.com
password your-app-password
# Установить Gmail как аккаунт по умолчанию
account default : gmail
EOF
# Установить права
sudo chmod 644 /etc/msmtprc
sudo chown root:mail /etc/msmtprc
# Создать лог файл
sudo touch /var/log/msmtp.log
sudo chown www-data:adm /var/log/msmtp.log
sudo chmod 664 /var/log/msmtp.log
# Настроить PHP для использования msmtp
echo "sendmail_path = /usr/bin/msmtp -t" | sudo tee -a /etc/php/*/apache2/php.ini
echo "sendmail_path = /usr/bin/msmtp -t" | sudo tee -a /etc/php/*/cli/php.ini
# Перезапустить Apache
sudo systemctl restart apache2
```
## Тестирование форм
1. Откройте страницы `/plan/` и `/ask/`
2. Заполните и отправьте формы
3. Проверьте логи: `sudo tail -f /var/log/msmtp.log`
4. Проверьте почту
## Альтернатива: использование существующего qform.io
Если предпочитаете оставить текущие формы qform.io, можно:
1. Оставить существующие формы как есть
2. PHP обработчики использовать как резервный вариант
3. Настроить webhook'и в qform.io для интеграции с внутренними системами
## Безопасность
- PHP файлы включают базовую валидацию
- Email headers защищены от инъекций
- Логируется IP и timestamp
- Рекомендуется добавить CAPTCHA для защиты от спама
## Интеграция с внутренними системами
Для интеграции с базой данных или CRM добавьте в PHP файлы:
```php
// Пример записи в базу данных
try {
$pdo = new PDO('mysql:host=localhost;dbname=travel', $db_user, $db_pass);
$stmt = $pdo->prepare("INSERT INTO requests (name, email, type, destination, created_at) VALUES (?, ?, ?, ?, NOW())");
$stmt->execute([$name, $email, $trip_type, $destination]);
} catch (PDOException $e) {
error_log("Database error: " . $e->getMessage());
}
```