Initial commit
This commit is contained in:
+109
@@ -0,0 +1,109 @@
|
||||
# Настройка форм обратной связи
|
||||
|
||||
## Копирование 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());
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user