get_the_content
returns the content as is without processing, it does not pass it through the filters that are used in the_content
such as oembeds or shortcodes. This filter is also called the_content
( coincidence )
Instead use this:
$email_body = apply_filters( 'the_content', get_the_content() );