My Wordpress emails were being rejected by my ISP's SMTP server. I fixed this by editing wordpress\wp-includes\pluggable.php in the wp_mail()
function, the following line:
// Set to use PHP's mail()
$phpmailer->IsMail();
Which uses the PHP mail feature,
To the following:
// Set to use SMTP mail()
$phpmailer->IsSMTP();
$phpmailer->Host='localhost';
This uses my local smtp server, but you can look at the phpmailer class and set variables here to use whatever smtp server you wish, authenticated, or not, secure or not, etc...
It would be nice if Wordpress would make all this configurable, but it looks hardcoded to me...