Do_shortcode before send email content

Have you tried

$message = apply_filters('the_content', $your_data);

I think this filter could handle the shortcode. (not tested)