false, 'message' => 'Only POST method allowed' ]); exit; } // Read JSON body $input = json_decode(file_get_contents('php://input'), true); $domain = $input['domain'] ?? ''; // Domain validation function validateDomain(string $domain): bool { return (bool) filter_var( $domain, FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME ); } if (!$domain || !validateDomain($domain)) { http_response_code(400); echo json_encode([ 'success' => false, 'message' => 'Invalid domain' ]); exit; } // Fetch MX records (safe, no shell_exec) $records = dns_get_record($domain, DNS_MX); $mxRecords = []; if ($records !== false) { foreach ($records as $record) { $mxRecords[] = [ 'mail_server' => $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 ]);