Geek the Planet


How To no image

Published on Mayo 7th, 2011 | by Angelfire

4

How to: Enviar emails usando PHP y PHPMailer

La semana pasada, mientras me encontraba realizando una aplicación para la Universidad, me encontré con que uno de los requerimientos era crear una serie de formularios que permitieran enviar una seria de informes, oficios, solicitudes de correo, entre otras cosas. Y bueno, como es obvio en todo novato, en lo primero en que pensé fue usar la función mail() de PHP, pero me encontré con un pequeño problema, y es que no permite enviar adjuntos, grave problema… Buscando me encontré con PHPMailer, que terminó por salvarme la vida, ya que permite adjuntar archivos de una manera bastante sencilla, además aún está soportada y disponible para PHP5 y PHP6, les mostraré como enviar un correo fácilmente con la ayuda de esta clase.

Lo primero es descargar el paquete de PHPMailer, adentro encontrar:

  • class.phpmailer.php
  • class.pop3.php
  • class.smtp.php
  • Ejemplos, documentación, pruebas, archivos de idioma, etc.

Nosotros sólo necesitaremos el primero: class.phpmailer.php, ya que sólo enviaremos correo, por otro lado es que necesitamos tener sendmail (agente para el transporte de correos).

Bueno, ahora si, al grano. Lo primero es crear una instancia de la clase:

<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
?>

Ahora, lo que voy a mostrar a continuación es lo esencial y exageradamente básico, digamos como un 1% de lo que se puede hacer con PHPMailer (un Hola Mundo con esta clase).

<?php
require("class.phpmailer.php");
$mail = new PHPMailer();

$mail->Host = "localhost";
$mail->From = "correo@correo.com";
$mail->FromName = "Nombre del Remitente";
$mail->Subject = "Asunto del correo";
$mail->AddAddress("correo@correo.com","Tu nombre");
$body  = "Hola <strong>geeks</strong> del mundo<br />";
$body .= "Esta es una prueba con <em>PHPMailer</em><br />";
$body .= "<strong>Geek The Planet</strong>";
$mail->Body = $body;
$mail->Send();
?>

Con esto bastará, cambiando en AddAddress correo@correo.com por un correo real funcionará perfectamente.

Nota: class.phpmailer.php y el archivo .php donde hicieron la anterior configuración deben estar en la misma carpeta.

Estoy preparando un ejemplo más avanzado donde use un formulario en HTML.

Tags: , ,


About the Author

Systems Engineering, Computer Systems Specialist, Social Engineering Specialist. Social Media Analyzer. Usability and SEO enthusiasm (Este es mi perfil de Twitter...)



4 Responses to How to: Enviar emails usando PHP y PHPMailer

  1. Rafa Occelli says:

    Hola:
    estuve viendo tu ejemplo, y no funciona, ni en mi localhost ni en mi sitio web de pruebas gratuito, por lo que deduzco que tiene algún problema, me gustaría que me ayudaras, ya que le veo interés a esta clase, mi intención es no tener que utilizar un sistema email contratado y aprovecharme de la cuenta gmail que poseo para enviar email mi correo es cosm2occelli@hotmail.com por si te interesa enviarme algún email

  2. Joaquin says:

    Muchas gracias por el aporte…me sirvió mucho !

  3. jonathan says:

    me gustaria ver un ejemplo donde yo pueda mandar un email a donde yo quiera… que sea usuario gmail el destino.

  4. Argenis says:

    @jonathan: es sencillo solo necesitas las siguientes lineas:

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = “ssl”;
    $mail->Host = “smtp.gmail.com”;
    $mail->Port = 465;
    $mail->Username = “correo@gmail.com”;
    $mail->Password = “contraseña del correo”;
    $mail->From = “correo@gmail.com”;
    $mail->FromName = “nombre del que manda”;
    $mail->Subject = “Prueba de correo PHPMailer”;
    $mail->AltBody = “Hola\neste correo ha sido enviado desde php usando PHPMailer.”;
    $mail->MsgHTML(“Hola, este correo ha sido enviado desde php usando PHPMailer“);
    $mail->AddAddress(“destino@correo.com”);
    $mail->IsHTML(true);

    if(!$mail->Send()){
    echo “Error”. $mail->ErrorInfo;
    } else {
    echo “Mensaje Enviado”;
    }

Back to Top ↑
  • Comentarios recientes

  • Miniposts

    • iOS 8 disponible para descargar

      Hoy se anunció de manera oficial iOS 8, la fecha de llegada será el próximo 17 de septiembre. En iPhonehacks han recopilado los enlaces de descarga directo para los diferentes dispositivos que soportan la nueva versión del sistema operativo. Así que para quienes no desean esperar, ya pueden acceder a la versión Golden Master ...

    • Festigame Colombia 2014

      El festival de videojuegos, cultura gamer y entretenimiento familiar más grande de América Latina ha llegado a nuestro país. Festigame que es un evento creado en Chile en 2012, se ha convertido en el evento anual donde las marcas más importantes de la industria presentan sus últimos productos en el ...

    • Peter Griffin también tiene cuenta en Instagram

      El protagonista de la serie de humor, Padre de Familia, Peter Griffin ha inaugurado su presencia en la red social de fotografía con divertidas fotografías de su vida, y a pesar de ser un personaje de ficción ya ha superado los 200.000 seguidores en tan sólo dos semanas. Son unas fotos bastante divertidas, las ...

    • Manual y documentación de Node.js para Android

      Node.js se ha venido haciendo bastante popular en los últimos años, cada vez son más los usos que como desarrolladores web le damos a esta tecnología. La siguiente aplicación es el manual y la documentación de Node.js, que contiene los siguientes temas: About these Docs Synopsis Assertion Testing Buffer C/C++ Addons Child Processes Cluster Console Crypto Debugger DNS Domain Events File System Globals HTTP HTTPS Modules Net OS Path Process Punycode Query Strings Readline REPL Stream String Decoder Timers TLS/SSL TTY UDP/Datagram URL Utilities VM ZLIB

    • Star Wars Traceroute

      ¿Qué pasa cuando un ingeniero está muy desocupado? pues pasan cosas como esta: Mac y Linux Van a la consola y escriben: traceroute 216.81.59.173 Windows Buscan el CMD y escriben: tracert 216.81.59.173 El resultado es interesante y sorprendente. Si quieren ver la salida de la ejecución del comando, pueden ver el gist Ver más: Beagle Network

  • Comunicados - Notas de Prensa