false, 'message' => 'Neznana napaka. Prosimo, kontaktirajte administratorja.']; // === KORAK 1: PREVERJANJE METODE ZAHTEVE === if ($_SERVER['REQUEST_METHOD'] !== 'POST') { http_response_code(405); // Method Not Allowed $response['message'] = 'Nedovoljen dostop. Uporabite metodo POST.'; echo json_encode($response); exit; } // === KORAK 2: BRANJE IN VALIDACIJA VSEBINE === $json_data = file_get_contents('php://input'); $data = json_decode($json_data, true); if (!$data || !isset($data['name']) || !isset($data['email']) || !isset($data['message'])) { http_response_code(400); // Bad Request $response['message'] = 'Manjkajoči podatki. Prosimo, izpolnite vsa polja.'; echo json_encode($response); exit; } // === KORAK 3: ČIŠČENJE IN VALIDACIJA PODATKOV === $name = trim($data['name']); $email = trim($data['email']); $message = trim($data['message']); if (empty($name)) { $response['message'] = 'Prosimo, vnesite vaše ime in priimek.'; echo json_encode($response); exit; } if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $response['message'] = 'Prosimo, vnesite veljaven e-poštni naslov.'; echo json_encode($response); exit; } if (empty($message)) { $response['message'] = 'Prosimo, vnesite vaše sporočilo.'; echo json_encode($response); exit; } // === KORAK 4: INICIALIZACIJA IN KONFIGURACIJA PHPMAILER === $mail = new PHPMailer(true); try { // --- Nastavitve strežnika --- // !!! POMEMBNO: Način za razhroščevanje je sedaj IZKLOPLJEN !!! // S tem zagotovimo, da skripta vrne samo čist JSON odgovor. $mail->SMTPDebug = SMTP::DEBUG_OFF; $mail->isSMTP(); $mail->Host = SMTP_HOST; $mail->SMTPAuth = true; $mail->Username = SMTP_USERNAME; $mail->Password = SMTP_PASSWORD; $mail->SMTPSecure = SMTP_SECURE; $mail->Port = SMTP_PORT; $mail->CharSet = 'UTF-8'; // --- Prejemniki --- $mail->setFrom(SMTP_USERNAME, $name); $mail->addAddress(SMTP_USERNAME, 'Hermina Merc - Spletna Stran'); $mail->addReplyTo($email, $name); // --- Vsebina e-sporočila --- $mail->isHTML(false); $mail->Subject = 'Novo sporočilo s spletne strani herminamerc.si od: ' . $name; $bodyName = htmlspecialchars($name); $bodyEmail = htmlspecialchars($email); $bodyMessage = htmlspecialchars($message); $mail->Body = "Prejeli ste novo sporočilo preko kontaktnega obrazca.\n\n" . "==================================================\n" . "Ime in priimek: " . $bodyName . "\n" . "E-mail naslov: " . $bodyEmail . "\n" . "==================================================\n\n" . "Sporočilo:\n" . "--------------------------------------------------\n" . $bodyMessage . "\n" . "--------------------------------------------------\n"; // === KORAK 5: POŠILJANJE E-SPOROČILA === $mail->send(); $response['success'] = true; $response['message'] = 'Hvala za vaše sporočilo! Odgovorili vam bomo v najkrajšem možnem času.'; } catch (Exception $e) { http_response_code(500); // Internal Server Error $response['success'] = false; // V produkciji ne izpisujemo podrobne napake uporabniku, ampak jo zabeležimo. $response['message'] = 'Sporočila ni bilo mogoče poslati. Prosimo, poskusite znova kasneje ali kontaktirajte administratorja.'; // Zabeležimo dejansko napako v strežniški log. error_log("PHPMailer napaka: " . $mail->ErrorInfo); } // === KORAK 6: POŠILJANJE ODGOVORA === echo json_encode($response); ?>