Subscribe:

Etiquetas

sábado, 28 de abril de 2012

Enviar correo con PhpMailer y Gmail

Empezamos con mi primera publicación en este blog. Muchas veces al desarrollar nuestras paginas web tenemos la necesidad de enviar correo electrónico desde nuestra web para ello muchas veces utilizamos la función mail de PHP, pero nos damos con la sorpresa que nuestro correo llega a la carpeta de correos no deseados, es por eso que me decidí a escribir este post de como enviar correo electrónico con la ayuda de la Libreria PhpMailer y un correo electrónico Gmail .
  • Descargamos la libreria PhpMailer desde el liguiente link.
  • Nos creamos una cuenta de correo electrónico en Gmail, ya que este correo nos brinda la posibilidad de usar el protocolo SMTP.
  • Creamos un nuevo archivo php (ejemplo: enviarcorreo.php)
  • Agregamos las 2 clases que trae PhpMailer: class.phpmailer.php y class.smtp.php
    include("class.phpmailer.php"); include("class.smtp.php");
  • Asignamos los datos del host, el puerto el nombre de usuario y su respectiva contraseña de Gmail.
  • $this->email = new PHPMailer(); $this->email->IsSMTP(); $this->email->SMTPAuth = true; $this->email->SMTPSecure = "ssl"; $this->email->Host = "smtp.gmail.com"; $this->email->Port = 465; $this->email->Username = 'tucorreo@gmail.com'; $this->email->From = "tucorreo@gmail.com"; $this->email->Password = "tucontraseña";
  • Una vez configurado nuestro correo agregamos los datos de envió
  • $this->email->From = "tucorreo@gmail.com"; $this->email->FromName = "Nombre del remitente"; $this->email->Subject = "titulo del correo"; $this->email->MsgHTML("<b>mensaje</b>"); //$this->email->AltBody("mensaje"); //AltBody se envía el mensaje en texto plano y //MsgHTML el mensaje en formato HTML $this->email->AddAddress(destinatario@dominio.com, "destinatario");
  • También podemos adjuntar archivos
  • $mail->AddAttachment("files/files.zip"); $mail->AddAttachment("files/img03.jpg");
  • Después de agregar todo los datos de envió correctamente se procede a enviar el email.
  • $this->email->IsHTML(true); if(!$this->email->Send()) { return "<b>Error:" . $this->email->ErrorInfo."</b><br/>"; } else { return "Mensaje enviado correctamente"; }
Como se puede ver no es nada complicado enviar un correo electrónico desde nuestra pagina web con la ayuda de Gmail y la librería PhpMailer, a continuación les dejo el código completo.
No olvide suscribirse en nuestra cuenta de facebook y por correo electrónico

1 comentario:

  1. Segui todos los pasos como fue indicado y reemplazando todo lo que se indico, excepto
    encontre que $address es string y no constante
    pero aun corriginedolo me aparecio el siguiente error

    Parse error: syntax error, unexpected T_IF in C:\wamp\www\PHPMailer-master\enviar_plus.php on line 52


    46 /*
    47 Después de agregar todo los datos
    48 de envió correctamente
    49 se procede a enviar el email.
    50 */
    51 $this->email->IsHTML(true);
    52 if(!$this->email->Send()) {
    53 return "Error:" . $this->email->ErrorInfo."
    ";
    54 }
    55 else {
    56 return "Mensaje enviado correctamente";
    57 }


    es siempre el mismo error en la funcion Send() del modulo "class.phpmailer.php" pero no consiguo depurar toda la libreria es bastante compleja pero prove con varios modelos incluso en ingles para crear el archivo "enviar.php" y siempre da error en la funcion Send() de la clase class.phpmailer.php
    por fvor poderia ayudarme, y aunque no pueda, igal deseo felicitarlo por su articulo en espanol.

    ResponderEliminar