Hola.
 
Por supuesto que puede ser php, para cuando el explorador interprete eso a sera html 
y la mecanica seria como lo que tienes en el primer archivo    
Código PHP:
Ver original<?php
$total = $_POST['total'];
for($x=0;$x<=$total;$x++){
    if($_POST['checkbox_'.$x]=='1'){
        
        $carro[$cant]['id'] = $_POST['id_'.$x];
        $carro[$cant]['cantidad'] = $_POST['precio_'.$x];
    }
}
 
$_SESSION['carro']=$carro;
 
$mensaje="
<table width='500' border='1' cellpadding='1' cellspacing='1'>
  <tr>
    <th>Producto</th>
    <th>Cantidad</th>
    <th>Precio</th>
    <th>SubTotal</th>
    <th> </th>
  </tr>";
 
$cantidad = count($carro);  
for($x=0;$x<=$cantidad;$x++){
    $SQL = "SELECT * FROM precios WHERE id = ".$carro[$x]['id'].";";
    $subtotal = $f['precio']*$carro[$x]['cantidad'];
    if($f['id']){
    $mensaje.="
    <tr>
        <td>$f['nombre']</td>
        <td>$carro[$x]['cantidad']</td>
        <td>$f['precio']</td>
        <td>$subtotal</td>
        <td>
        </td>
        </tr>";
  
prueba haciendo algo como eso, y lo mandas con tu funcion mail 
Suerte.