35010-vm/contact.php
Flatlogic Bot deff7cb3b1 home
2025-10-16 13:57:32 +00:00

48 lines
1.7 KiB
PHP

<?php
ini_set('display_errors', 0); // Do not display errors to the user
error_reporting(E_ALL);
require_once __DIR__ . '/mail/MailService.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = filter_var(trim($_POST['name']), FILTER_SANITIZE_STRING);
$email = filter_var(trim($_POST['email']), FILTER_SANITIZE_EMAIL);
$message = filter_var(trim($_POST['message']), FILTER_SANITIZE_STRING);
$error_message = '';
// Server-side validation
if (empty($name)) {
$error_message = 'Name is required.';
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$error_message = 'Invalid email format.';
} elseif (empty($message)) {
$error_message = 'Message is required.';
}
if (!empty($error_message)) {
header('Location: index.php?status=error&msg=' . urlencode($error_message) . '#contact');
exit;
}
// Use MailService to send the email
// The recipient is determined by the MAIL_TO environment variable as per instructions
$subject = "New Contact Form Submission from {$name}";
$res = MailService::sendContactMessage($name, $email, $message, null, $subject);
if (!empty($res['success'])) {
header('Location: index.php?status=success#contact');
exit;
} else {
// Log error internally if possible, and show a generic error to the user
error_log('MailService Error: ' . $res['error']);
$error_message = 'Could not send message. Please try again later.';
header('Location: index.php?status=error&msg=' . urlencode($error_message) . '#contact');
exit;
}
} else {
// Redirect to home if accessed directly
header('Location: index.php');
exit;
}