PHPMailer la estupenda librería de la cual hemos comentado en oportunidades anteriores se esta actualizando constantemente y entre las nuevas cualidades esta la posibilidad de enviar Email utilizando el servidor SMTP de Gmail, con lo cual resolvemos el problema de no tener un servidor SMTP para hacer los envíos.
Utilizando PHPMailer con Gmail
Debido a las actualizaciones que han hecho en PHPMailer algunos métodos han cambiado y se han agregado otros, entre los cuales se encuentran los métodos para utilizar Gmail en nuestros envíos.
Entonces primero descargamos los archivos fuente e incluimos los archivos class.phpmailer.php y class.smtp.php, para luego inicializar la clase, luego asignamos los datos del host y puerto de Gmail y adicionalmente colocamos nuestro usuario y clave de Gmail pues para hacer uso de este SMTP hace falta autentificación.
include(”class.smtp.php”);
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = “ssl”;
$mail->Host = “smtp.gmail.com”;
$mail->Port = 465;
$mail->Username = “username@gmail.com”;
$mail->Password = “userpass”;
Hasta este punto ya tenemos configurado nuestro script para utilizar el SMTP de Gmail, el siguiente paso es preparar y hacer el envío del email.
$mail->FromName = “User Name”;
$mail->Subject = “Subject del Email”;
$mail->AltBody = “Hola, te doy mi nuevo numero\nxxxx.”;
$mail->MsgHTML(”Hola, te doy mi nuevo numero
xxxx.”);
$mail->AddAttachment(”files/files.zip”);
$mail->AddAttachment(”files/img03.jpg”);
$mail->AddAddress(”destino@domain.com”, “Destinatario”);
$mail->IsHTML(true);
if(!$mail->Send()) {
echo “Error: ” . $mail->ErrorInfo;
} else {
echo “Mensaje enviado correctamente”;
}
Nótese que en From podemos colocar la dirección email que deseamos se muestre y no necesariamente nuestra cuenta Gmail, en AltBody se envía el mensaje en texto plano y MsgHTML el mensaje en formato HTML. Adicionalmente y como prueba estamos adjuntando dos archivos, finalmente en el método AddAddress agregamos los datos del destinatario de nuestro email.
Buenas! el codigo que posteas es entendible, pero no me envia el correo.. no se si tengo que configurara algo adicional o tengo que instalar un servidor de correo smtp ya que lo estoy intentando localmente.. agradeceria tu respuesta, gracias. saludos
Mira si la cuenta de Gmail necesita permisos de algun tipo.