…your if statement will always evaluate to false…
Not necessarily, plugin files load before pluggable.php, so a true case can occur. I just verified this on my test installation to be sure. It is intended for functions in pluggable.php to be defined by plugins, when desired, before the pluggable.php file loads. Thus the plugin definition takes precedence and the pluggable.php version is not evaluated.
ianhaycox points out why one’s replacement function must be carefully considered, properly crafted, and diligently maintained. Additionally, the pluggable version contains several hooks such that wholesale replacement of wp_mail() is almost never warranted. Never the less, it should be possible to plug the function using the OP’s example script.
It does in fact work as intended on my test installation. Usually the only reason such script would fail is if another plugin were to define the function before your plugin is able to. The behavior described after renaming the pluggable.php function indicates this is not the case.
I’m at a loss to explain this behavior, but it is not because the if statement will always evaluate to false. Regardless, you are better off using the provided hooks or wrapping wp_mail() as ianhaycox suggested than trying to plug the function. Especially now that it does not work for some mysterious reason.