A ver, cada vez que se ejecuta un ciclo del for se sobreescribe la variable $body, de manera que al finalizar el for estás mandando solamente el último valor que tomó esta dentro del ciclo, no todos, pues el mismo for los fué sobreescribiendo tras cada pasada del ciclo. Lo que tienes que hacer es algo así:
Código PHP:
Ver original$body='<table>';
for($i=0; $i < count($_SESSION['carrito']) ; $i++){ $body.='<tr><td>'.$_SESSION['carrito'][$i]['nombre'].'</td></td>';
}
$body.='</table>';
Ves? Haces que el for repita las filas de la tabla u las vas concatenando a la variable $body, pero el inicio y final de la tabla las dejas fuera del ciclo porque no quieres que se repitan. Luego mandas por mail la variable $body con todo su contenido como quedó y listo, ya tienes una tabla en tu mail con todos los valores del array. Espero que te sirva.