La implementacion de PHPMailer es muy sencilla. Debes incluir la clase phpmailer y menos de 20 lineas de codigo para configurar a donde se enviara el mensaje, el asunto, el cuerpo del mensaje y otras configuraciones. Si trabajas en localhost es posible que no funcione, tenlo en cuenta para realizar las pruebas directamente en tu servidor de hosting.
Hay un parametro muy importante a tener en cuenta, es el modo debug, en caso de estar activo se mostrara un log en pantalla donde podras encontrar el motivo por cual no se esta enviando el correo. Al funcionar correctamente debes desactivarlo. El valor inactivo es SMTPDebug=0; y para mostrar el log es SMTPDebug=2;
Codigo ejemplo
require 'PHPMailerAutoload.php'
$mail = new PHPMailer;
$mail->SMTPDebug = 2; // Activar log para encontrar errores
$mail->isSMTP(); // Indicar que el email se enviara mediante SMTP
$mail->Host = 'mail.sitioweb.com;'; // Servidor SMTP del servidor
$mail->SMTPAuth = true; // Autenticar SMTP con usuario y password de una cuenta existente
$mail->Username = 'user@example.com'; // Correo electronico a utilizar para los envios
$mail->Password = 'password'; // Password de la cuenta de correo
$mail->SMTPSecure = 'tls'; // Activa envio seguro mediante SSL / TLS
$mail->Port = 587; // Puerto a utilizar, puede variar segun el proveedor de hosting. Si no se utiliza SSL el puerto deberia ser 25 o 26.
$mail->setFrom('from@sitio.com', 'Notificaciones'); // Indica quien envia el correo, y un nombre, en este caso notificaciones.
$mail->addAddress('cuenta@sitiodestino.com', 'Nombre de usuario'); // Indica a quien se envia el correo y nombre (nombre es opcional);
$mail->addReplyTo('info@misitio.com', 'Notificaciones'); // Un email para recibir respuestas
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Enviar adjunto(opcional)
$mail->isHTML(true); // Para enviar correo utilizando etiquetas html
$mail->Subject = 'Asunto del correo'; //El asunto del correo
$mail->Body = 'Cuerpo del mensaje';
$mail->AltBody = 'Cuerpo del mensaje solo texto'; //Recomendado utilizar para gestores de correo que no permitan html y mejorar la recepcion de correos.
if($mail->send()) { // Se envia el correo
echo 'Mensaje enviado.'
}else {
echo 'El mensaje fallo'; echo 'Mailer Error: ' . $mail->ErrorInfo;
}