Yo uso phpMailer , ahora los envio desde mi server, pero en su momento use gmail. Te paso el codigo espero que te ayude.
Código PHP:
<?
include ("phpMailer/class.phpmailer.php"); //Necesita estos dos archivos para furrular
include ("phpMailer/class.smtp.php"); // este en concreto es por si queremos utilizar un server smtp para sendMail no hace falta.
$mail = new PHPMailer(true); // Declaramos un nuevo correo, el parametro true significa que mostrara excepciones y errores.
$mail->IsSMTP(); // Se especifica a la clase que se utilizará SMTP
try {
//------------------------------------------------------
$correo_emisor="[email protected]"; //Correo a utilizar para autenticarse
//con Gmail o en caso de GoogleApps utilizar con @tudominio.com
$nombre_emisor="Tu nombre"; //Nombre de quien envía el correo
$contrasena="mipass"; //contraseña de tu cuenta en Gmail
$correo_destino="[email protected]"; //Correo de quien recibe
$nombre_destino="Fulanito"; //Nombre de quien recibe
//--------------------------------------------------------
$mail->SMTPDebug = 2; // Habilita información SMTP (opcional para pruebas)
// 1 = errores y mensajes
// 2 = solo mensajes
$mail->SMTPAuth = true; // Habilita la autenticación SMTP
$mail->SMTPSecure = "ssl"; // Establece el tipo de seguridad SMTP
$mail->Host = "smtp.gmail.com"; // Establece Gmail como el servidor SMTP
$mail->Port = 465; // Establece el puerto del servidor SMTP de Gmail
$mail->Username = $correo_emisor; // Usuario Gmail
$mail->Password = $contrasena; // Contraseña Gmail
//A que dirección se puede responder el correo
$mail->AddReplyTo($correo_emisor, $nombre_emisor);
//La direccion a donde mandamos el correo
$mail->AddAddress($correo_destino, $nombre_destino);
//De parte de quien es el correo
$mail->SetFrom($correo_emisor, $nombre_emisor);
//Asunto del correo
$mail->Subject = 'Probando';
//Mensaje alternativo en caso que el destinatario no pueda abrir correos HTML
$mail->AltBody = 'para ver el mensaje necesita un cliente de correo compatible con HTML.';
//El cuerpo del mensaje, puede ser con etiquetas HTML
$mail->MsgHTML("Texto del mensaje de prueba");
//Enviamos el correo
$mail->Send();
echo "El mensaje se ha enviado correctamente";
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Errores de PhpMailer
} catch (Exception $e) {
echo $e->getMessage(); //Errores de cualquier otra cosa.
}