Error using wp_mail inside custom function

That’s because you have put function tps_set_html_email_content_type inside the tps_send_email, and each time you call it, it will declare the tps_set_html_email_content_type function again. Just move it out:

function tps_set_html_email_content_type() {
    return 'text/html';
}

function tps_send_email($emailTo, $subject, $content) {
    add_filter( 'wp_mail_content_type', 'tps_set_html_email_content_type' );

    //Send the email
    $mailSent = wp_mail($emailTo, $subject, $content);

    //Reset HTML content type back to text only (avoids conflicts)
    remove_filter( 'wp_mail_content_type', 'tps_set_html_email_content_type' );

    return $mailSent;
}

I am not sure why you would put one function inside another one in the first place, but that is never a good idea, even so PHP supports it.