im use wordpress_mail whenever a publish is (producedup-to-date) while using publish_publish action

strange factor could it be works fine when im editing and existing publish, ie all of the $publish object could be retrieved using:

$post = get_post($post_id);

however when i apply it to a brand new publish it does not possess the publish object???

i'm able to obtain the vars while using global $_Publish but that bloats the code a lot, checking whether it there or now.

ive attempted another actions too (save_publishwordpress_place_publishpublish_publish-type)

has anybody ever endured this?