If I’m understanding you right you just are having trouble getting the from set? The easiest way would just be adding the from in the email headers in the wp_mail function.
Here is an example of one of my old simple email sending functions that works:
function contact_send() {
$title="New message Received";
$headers = array('From: '.$_POST['full_name'].' <'.$_POST['email_address'].'>');
$message="<h1>My message</h1>";
//Send the email
add_filter('wp_mail_content_type', create_function('', 'return "text/html"; '));
$email = wp_mail('[email protected]', $title, $message, $headers);
remove_filter('wp_mail_content_type', 'set_html_content_type');
return $email;
}
The wp_mail_from hook provides the email you have already set in your wp_mail function, you have not set one so it was receiving blank and sending back an empty variable ($senderEmail was not defined so would return undefined).