wp_mail发送除标题之外的所有内容

I have built a function to send an email with all of the posted information upon when a post is published or updated. It is working like it should however the email contains everything except the posted title. Been stuck for hours. I do however receive the post title if I update the post but nothing when I post it. An only the post title. I appreciate any help you can give.

function send_media_emails($post_id, $post_after){
    if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) 
        return;
    if(get_post_status($post_id) == 'draft' or get_post_status($post_id) == 'pending' or get_post_status($post_id) == 'trash')
        return;
    $to  = 'myemail@gmail.com';
    $subject = 'My Email Subject';
    $post = get_post();
    $post = $post_after;
    //$post_title = get_the_title($post_id);
    $body = '<h1>'.get_the_title($post_id).'</h1>';   
    if(is_category){
        $category = get_the_category();
        $body .= '<h2>Reason for Closure: <em>'.$category[0]->cat_name .'</em></h2>';
    }
        $body .= '<h3>This Cancellation/Delay was posted on '.$post->post_date.'</h3>';
        $body .= '<p>'.$post->post_content.'</p>';
        $body .= '<p>View this posting at ' . get_permalink($post_id) . ' or</p>';

    if(did_action('post_updated') == 1){
        wp_mail($to, $subject, $body);
    }
}
add_action('post_updated', 'send_media_emails', 10, 2);

I figured it out. I am pulling the post title from a custom term, so it wasn't grabbing it. So I had to grab the title from the selected term first.

$terms = wp_get_post_terms($post_id, 'regions');
$title = $title ? $title : $terms[0]->name;

And then sent the $title variable in the email. In case anyone else has this sort of setup or issue