diff --git a/public/api/contact.php b/public/api/contact.php
index 2037451..2b861f4 100644
--- a/public/api/contact.php
+++ b/public/api/contact.php
@@ -28,43 +28,66 @@ if (!$name || !$message) {
exit;
}
+// ─── Telegram (best-effort, not fatal) ───────────────────────────────────────
$BOT_TOKEN = '8138813013:AAElH2L5NspRLSdiFjDz6Qf32n4G24P_cj8';
$CHAT_ID = '-5230603582';
-$text = "🔔 Заявка с sag24.ru\n\n";
+$text = "🔔 Заявка с sag24.ru\n\n";
$text .= "👤 Имя: {$name}\n";
if ($phone) $text .= "📱 Телефон: {$phone}\n";
if ($email) $text .= "📧 Email: {$email}\n";
$text .= "\n💬 Сообщение:\n{$message}\n";
$text .= "\n⏰ " . date('d.m.Y H:i', time() + 3 * 3600) . " MSK";
-$payload = json_encode([
- 'chat_id' => $CHAT_ID,
- 'text' => $text,
- 'parse_mode' => 'HTML',
-]);
-
$ch = curl_init("https://api.telegram.org/bot{$BOT_TOKEN}/sendMessage");
curl_setopt_array($ch, [
CURLOPT_POST => true,
- CURLOPT_POSTFIELDS => $payload,
+ CURLOPT_POSTFIELDS => json_encode(['chat_id' => $CHAT_ID, 'text' => $text, 'parse_mode' => 'HTML']),
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
]);
-$result = curl_exec($ch);
-$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
+curl_exec($ch);
curl_close($ch);
-// Email fallback (always send, regardless of Telegram result)
-$subject = "Заявка с сag24.ru от {$name}";
-$body = "Имя: {$name}\n";
-if ($phone) $body .= "Телефон: {$phone}\n";
-if ($email) $body .= "Email: {$email}\n";
-$body .= "\nСообщение:\n{$message}\n";
-$body .= "\n" . date('d.m.Y H:i', time() + 3 * 3600) . " MSK";
-$headers = "From: noreply@sag24.ru\r\nContent-Type: text/plain; charset=UTF-8";
-mail('info@sag24.ru', $subject, $body, $headers);
+// ─── Email via SMTP (noreply@sag24.ru → info@sag24.ru) ───────────────────────
+$smtp_host = 'mx.hhivp.com';
+$smtp_port = 587;
+$smtp_user = 'noreply@sag24.ru';
+$smtp_pass = '9hsnDyBAk5&S4#lE';
+$mail_to = 'info@sag24.ru';
+
+$subject = "=?UTF-8?B?" . base64_encode("Заявка с sag24.ru от {$name}") . "?=";
+$body = "Имя: {$name}\r\n";
+if ($phone) $body .= "Телефон: {$phone}\r\n";
+if ($email) $body .= "Email: {$email}\r\n";
+$body .= "\r\nСообщение:\r\n{$message}\r\n";
+$body .= "\r\n" . date('d.m.Y H:i', time() + 3 * 3600) . " MSK";
+
+try {
+ $smtp = fsockopen($smtp_host, $smtp_port, $errno, $errstr, 10);
+ if ($smtp) {
+ fgets($smtp, 512);
+ fwrite($smtp, "EHLO sag24.ru\r\n"); $caps = '';
+ while ($line = fgets($smtp, 512)) { $caps .= $line; if ($line[3] == ' ') break; }
+ fwrite($smtp, "STARTTLS\r\n"); fgets($smtp, 512);
+ stream_socket_enable_crypto($smtp, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
+ fwrite($smtp, "EHLO sag24.ru\r\n");
+ while ($line = fgets($smtp, 512)) { if ($line[3] == ' ') break; }
+ fwrite($smtp, "AUTH LOGIN\r\n"); fgets($smtp, 512);
+ fwrite($smtp, base64_encode($smtp_user) . "\r\n"); fgets($smtp, 512);
+ fwrite($smtp, base64_encode($smtp_pass) . "\r\n"); fgets($smtp, 512);
+ fwrite($smtp, "MAIL FROM:<{$smtp_user}>\r\n"); fgets($smtp, 512);
+ fwrite($smtp, "RCPT TO:<{$mail_to}>\r\n"); fgets($smtp, 512);
+ fwrite($smtp, "DATA\r\n"); fgets($smtp, 512);
+ fwrite($smtp, "From: noreply@sag24.ru\r\nTo: {$mail_to}\r\nSubject: {$subject}\r\n");
+ fwrite($smtp, "MIME-Version: 1.0\r\nContent-Type: text/plain; charset=UTF-8\r\n\r\n");
+ fwrite($smtp, $body . "\r\n.\r\n"); fgets($smtp, 512);
+ fwrite($smtp, "QUIT\r\n");
+ fclose($smtp);
+ }
+} catch (Throwable $e) {
+ // email failure is non-fatal
+}
-// Return success regardless of Telegram result
echo json_encode(['success' => true]);