false, 'message' => 'Only POST method allowed' ]); exit; } // Read JSON input $input = json_decode(file_get_contents('php://input'), true); $domain = $input['domain'] ?? ''; // Domain validation function validateDomain(string $domain): bool { return (bool) preg_match( '/^(?!-)(?:[a-zA-Z0-9-]{1,63}\.)+[a-zA-Z]{2,}$/', $domain ); } if (!$domain || !validateDomain($domain)) { http_response_code(400); echo json_encode([ 'success' => false, 'message' => 'Invalid domain' ]); exit; } // Fetch MX records $records = dns_get_record($domain, DNS_MX); $mxRecords = []; if ($records !== false) { foreach ($records as $record) { $mxRecords[] = [ 'host' => $record['target'] ?? '', 'priority' => $record['pri'] ?? null ]; } } // Response if (empty($mxRecords)) { echo json_encode([ 'success' => false, 'domain' => $domain, 'message' => 'No MX records found', 'records' => [] ]); exit; } echo json_encode([ 'success' => true, 'domain' => $domain, 'records' => $mxRecords ]);