true, 'secure' => $isHttps, 'samesite' => 'Lax', ]); session_start(); header('X-Content-Type-Options: nosniff'); header('Referrer-Policy: strict-origin-when-cross-origin'); /* * Change this address if your support mailbox is different, or define the * LUNOVA_CONTACT_EMAIL environment variable in your hosting control panel. */ $recipientEmail = getenv('LUNOVA_CONTACT_EMAIL') ?: 'info@lunova.finance'; $senderEmail = 'no-reply@lunova.finance'; $errors = []; $successMessage = ''; $ticketReference = ''; $name = ''; $email = ''; $category = ''; $subject = ''; $message = ''; if (empty($_SESSION['contact_csrf'])) { $_SESSION['contact_csrf'] = bin2hex(random_bytes(32)); } if (($_SERVER['REQUEST_METHOD'] ?? 'GET') === 'POST') { $name = trim((string) ($_POST['name'] ?? '')); $email = trim((string) ($_POST['email'] ?? '')); $category = trim((string) ($_POST['category'] ?? 'General support')); $subject = trim((string) ($_POST['subject'] ?? '')); $message = trim((string) ($_POST['message'] ?? '')); $website = trim((string) ($_POST['website'] ?? '')); $csrfToken = (string) ($_POST['csrf_token'] ?? ''); if ($website !== '') { // Silently accept automated submissions caught by the honeypot. $successMessage = 'Your message has been received.'; } else { if (!hash_equals((string) $_SESSION['contact_csrf'], $csrfToken)) { $errors[] = 'Your session has expired. Please refresh the page and try again.'; } if ($name === '' || (function_exists('mb_strlen') ? mb_strlen($name) : strlen($name)) > 100) { $errors[] = 'Enter your full name.'; } $allowedCategories = ['General support','Account access','Payments & deposits','Withdrawals','Cards','Wallet & crypto','Verification','Security','Other']; if (!in_array($category, $allowedCategories, true)) { $errors[] = 'Select a valid request type.'; } if (!filter_var($email, FILTER_VALIDATE_EMAIL) || preg_match('/[\r\n]/', $email)) { $errors[] = 'Enter a valid email address.'; } $subjectLength = function_exists('mb_strlen') ? mb_strlen($subject) : strlen($subject); if ($subjectLength < 3 || $subjectLength > 150 || preg_match('/[\r\n]/', $subject)) { $errors[] = 'Enter a subject between 3 and 150 characters.'; } $messageLength = function_exists('mb_strlen') ? mb_strlen($message) : strlen($message); if ($messageLength < 10 || $messageLength > 5000) { $errors[] = 'Enter a message between 10 and 5,000 characters.'; } $lastSubmission = (int) ($_SESSION['last_contact_submission'] ?? 0); if ($lastSubmission > 0 && (time() - $lastSubmission) < 30) { $errors[] = 'Please wait a moment before sending another message.'; } if (!$errors) { try { $ticketReference = 'LNV-' . strtoupper(bin2hex(random_bytes(4))); } catch (Throwable $exception) { $ticketReference = 'LNV-' . strtoupper(substr(hash('sha256', uniqid('', true)), 0, 8)); } $safeSubject = preg_replace('/\s+/', ' ', $subject) ?: 'Customer enquiry'; $mailSubject = '[Lunova Support] ' . $safeSubject . ' (' . $ticketReference . ')'; if (function_exists('mb_encode_mimeheader')) { $mailSubject = mb_encode_mimeheader($mailSubject, 'UTF-8'); } $normalisedMessage = str_replace(["\r\n", "\r"], "\n", $message); $mailBody = implode("\r\n", [ 'New Lunova support request', '----------------------------------------', 'Reference: ' . $ticketReference, 'Received: ' . gmdate('Y-m-d H:i:s') . ' UTC', 'Customer name: ' . $name, 'Customer email: ' . $email, 'Request type: ' . $category, 'Subject: ' . $safeSubject, '', 'Message:', $normalisedMessage, '', '----------------------------------------', 'Submitted from the authenticated Lunova contact page.', ]); $headers = implode("\r\n", [ 'From: Lunova Website <' . $senderEmail . '>', 'Reply-To: ' . $email, 'MIME-Version: 1.0', 'Content-Type: text/plain; charset=UTF-8', 'Content-Transfer-Encoding: 8bit', 'X-Mailer: PHP/' . PHP_VERSION, ]); if (mail($recipientEmail, $mailSubject, $mailBody, $headers)) { $_SESSION['last_contact_submission'] = time(); $_SESSION['contact_csrf'] = bin2hex(random_bytes(32)); $successMessage = 'Your message has been sent successfully.'; $name = ''; $email = ''; $category = ''; $subject = ''; $message = ''; } else { $ticketReference = ''; $errors[] = 'We could not send your message at this time. Please try again shortly.'; error_log('Lunova contact form: mail() failed for recipient ' . $recipientEmail); } } } } function formValue(string $value): string { return htmlspecialchars($value, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); } ?> Lunova - Contact Support
logo

Online Banking

Lunova Support

How can we help you?

Send your request directly to our support team. Provide as much relevant information as possible so we can understand your enquiry and reply to the email address you provide.

Direct support requestSent securely to Lunova Support
Reference generatedEach successful request gets a ticket ID
Account safetyNever share passwords or recovery phrases

Submit a support request

Complete the form below and our team will receive your message.

Reference:
0 / 5,000
Do not include passwords, seed phrases, private keys, full card details or one-time verification codes.
Your submission is delivered to info@lunova.finance. The email address you enter is set as the reply address so Support can respond directly to you.

Lunova Support will never ask you to disclose your password, wallet recovery phrase, private key or one-time authentication code.