È probabile che il tuo displayWinesList() la funzione echo è i suoi dati invece di restituirli.
Puoi modificare la tua funzione per restituire i dati o lasciarla così com'è e utilizzare il buffer di output per acquisire i dati:
$to = "example@sqldat.com";
$subject = "WineStore Query";
ob_start();
displayWinesList($connection, $query,$region_name, $wine_type, $price);
$message = ob_get_clean();
$message = '<html>'.$message.'</html>';
$from = "example@sqldat.com";
…
Per sapere con certezza, tuttavia, posta la tua displayWinesList() funzione.