How to show product images or skus to Woocommerce order emails

The email-order-items.php template already has the code to display the SKU here:

// SKU
if ( $show_sku && is_object( $_product ) && $_product->get_sku() ) {
    echo ' (#' . $_product->get_sku() . ')';
}

However, $show_sku is false (disabled) by default. To enable it, we can use the woocommerce_email_order_items_table filter in functions.php:

function camis_customise_order_items_table( $table, $order ) {
    ob_start();
     
    $template = $plain_text ? 'emails/plain/email-order-items.php' : 'emails/email-order-items.php';
    wc_get_template( $template, array(
        'order'                 => $order,
        'items'                 => $order->get_items(),
        'show_download_links'   => $show_download_links,
        'show_sku'              => true, 
        'show_purchase_note'    => $show_purchase_note,
        'show_image'            => $show_image,
        'image_size'            => $image_size
    ) );
    
    return ob_get_clean();
}
add_filter( 'woocommerce_email_order_items_table', 'camis_customise_order_items_table', 10, 2 );

You can tweak other items in the table here too, such as showing a product image or a purchase note.

'show_purchase_note'    => true,
'show_image'            => true,
'image_size'            => array( 80, 80 )