Uso básico de PHPmailer

A continuación les muestro un código que ejemplifica las lineas necesarias para el envío de correo electrónico usando PHPmailer via SMTP.
Inicialmente necesitamos descargar al menos las clases las clases class.phpmailer.php y class.smtp necesarias para su funcionamiento, la descarga se puede hacer desde aquí .

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

//parametros de configuración del servidor de envio
$mail-Mailer = "smtp";
$mail->Host = "servidor.dominio.com";
$mail->Username = "Nombre-de-usuario";
$mail->Password = "******************";
//en caso de que el servidor utilice autenticación para conectarse especificamos
$mail->SMTPAuth = true;
//si el puerto utilizado no es el predeterminado (25) debemos especificar explicitamente el puerto de conexion utilizado por el servidor
$mail->Port = 587;

$mail->From = "usuario@dominio.com";
$mail->FromName = "Nombre del usuario";

$mail->Timeout=30;

//Indicamos cual es la dirección de destino del correo
$mail->AddAddress("destino@dominio.com");

$mail->Subject = "Colocamos aquí el asunto del correo";
$mail->Body = "Dentro de Body colocamos el cuerpo del correo electónico“;

$mail->AltBody = “AltBody es un mensaje de texto alternativo al contenido del cuerpo del mensaje, debe ser descriptivo al contenido del mensaje”;
$seEnvio = false;
//se realizan hasta 5 intentos de envio de correo
$intentos=0;
while ((!$seEnvio) && ($intentos < 5)) {
sleep(5);
$seEnvio= $mail->Send();
$intentos=$intentos+1;
}
if(!$seEnvio)
{
echo “Ocurrio un error al intentar enviar el correo “;
echo “
“.$mail->ErrorInfo;
}
else
{
echo “El mensaje de correo electrónico se envió correctamente”;
}
?>

Las consideraciones que debemos tener son:

  • Verificar el nombre o IP del servidor de correo que utilizaremos para enviar el correo
  • Verificar el puerto de comunicación
  • Verificar si el servidor requiere autenticación
  • Verificar el puerto de comunicación
  • Proporcionar correctamente el nombre y contraseña de la cuenta de usuario

Saludos

Anuncios

5 comentarios en “Uso básico de PHPmailer

  1. Me parece que hay un error en las siguientes lineas:

    while ((!$seEnvio) && ($intentos Send();
    $intentos=$intentos+1;
    }

    creo que deberia ser algo como esto

    while( (!$mail->send() ) && $intentos < 5 )
    $intentos=$intentos+1;

    claro, esto suponiendo que el metodo send() existe para la clase phpmailer y que regresa un booleano indicando si el envio se realizo correctamente…

    • Hola Luis….

      Primeramente te agradezco tu notificacion en el error del código. aprovecho para confirmarles que el código original estuvo correcto el problema ocurrio al momento de copiar y pegar el codigo a la ventana de edición de la entrada ya que se interpretó el caracter < como parte del codigo de la página y no como del contenido de la entrada.
      He corregido el código visible en base a tu notificacion.

      • ok, si eso suele pasar cuando se pega codigo xq la sintaxis en algunos casos puede resultar parecida a la sintaxis HTML

  2. y para poder seguir utilizando la variable $seEnvio seria necesario almacenar el resultado de $mail->send en esa variable….

    while( !($seEnvio = $mail->send()) && $intentos<5 )

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s