¿Cómo implementar PHPMailer para en mi web?

La función mail() de PHP ha dejado de ser aceptada mundialmente por grandes proveedores digitales como Google, Microsoft, cPanel, etc, por motivo de que ha sido explotada para enviar SPAM por agentes maliciosos.

Por este motivo, cada vez es más imprescindible que los envíos desde los formularios web se realicen a través de SMTP para tener certeza de que el formulario vaya a funcionar y además de que los mensajes automáticos de tu sitio web vayan a llegar a destino.

En este instructivo, te explicamos cómo implementar la librería PHPMailer para que los envíos se hagan a través de SMTP y por ende siempre lleguen a destino correctamente.

NOTA: si tu sitio está desarrollado con WordPress, te recomendamos ver este instructivo que desarrollamos para WordPress.

Tendrás que seguir estos pasos:

  1. Ingresar a este enlace y presionar el botón Clone or Download

  2. Una vez se descargue, súbelo al directorio donde está tu sitio web en Neolo.

  3. Ahora ingresa a tu cPanel > Administrador de Archivos y navega hasta el directorio en el que subiste el fichero PHPMailer-5.2-stable.zip y descomprímelo (clic derecho sobre el fichero y luego Extract). En esto momento ya tendrás la librería instalada en tu sitio web y todo el contenido estará dentro del directorio PHPMailer-5.2-stable. Te recomiendo cambiar el nombre de ese directorio a uno con el que te sientas más cómodo, tal vez directamente phpmailer .

  4. En este momento ya puedes hacer la prueba de envío, para hacerla debes crear un directorio dentro de donde estén todos los archivos de la librería. Es decir, dentro del directorio que renombraste phpmailer crea otro directorio con el nombre de tu preferencia, puede ser por ejemplo enviodecorreo . Una vez creado, ingresa a ese directorio y crea un fichero PHP con el nombre de tu preferencia, tal vez podría ser envio.php . Ahora que ya tienes creado el fichero, edítalo e introduce estos datos dentro:


    <?php
    require '../PHPMailerAutoload.php';

    $mail = new PHPMailer;

    //$mail->SMTPDebug = 3; // Activar o desactivar el modo debug
    $mail->isSMTP(); // Indicar al mailer que use SMTP
    $mail->Host = 'mail.eldominio.com'; // Acá va el host SMTP
    $mail->SMTPAuth = true; // Activar la autenticación SMTP
    $mail->Username = 'EJEMPLO@eldominio.com'; // La cuenta de correos que vas a utilizar. Tiene que estar creada previamente en el cPanel
    $mail->Password = 'TUCONTRASEÑA'; // La clave de de esa cuenta de correos
    $mail->SMTPSecure = 'tls'; // Activar el cifrado TLS, "ssl" también es aceptado
    $mail->Port = 587; // El puerto de conexión SMTP

    $mail->setFrom('ejemplo@quienenvia.com', 'Mailer'); // El correo desde cual sale el correo y el "nombre"
    $mail->addAddress('ejemplo@quienrecibe.com', 'Joe User'); // Añadir el recipiente
    $mail->addReplyTo('info@ejemplo.com', 'Informacion'); // Indicar una cuenta para responder (opcional)
    $mail->addCC('cc@ejemplo.com'); // Indicar una cuenta de copia (opcional)
    $mail->addBCC('bcc@ejemplo.com'); // Indicar una cuenta de copia adicional (ocional)

    $mail->isHTML(true); // Indicar que esté activo HTML
    $mail->Subject = 'Aquí está el asunto del mensaje';
    $mail->Body = 'Este es el "body" del HTML y <b>esto está en negritas</b>';
    $mail->AltBody = 'Este es el mensaje alternativo para clientes de correo que no usan HTML';

    if(!$mail->send()) {
    echo 'El mensaje no pudo ser enviado.';
    echo 'Error del Mailer: ' . $mail->ErrorInfo;
    } else {
    echo 'El mensaje se envio correctamente';
    }
  5.  Lógicamente deberás modificar los datos relacionados al host SMTP, la cuenta de correos, el recipiente, el mensaje, etc. En general los datos que debes utilizar para la conexión SMTP son:

    - mail.eldominio.com (cambiando eldominio.com por tu dominio) para el host SMTP
    - "tls" en la opción de SMTPSecure
    . "587" en el puerto de conexión SMTP

  6. Una vez hayas introducido tus datos y hayas guardado los cambios, puedes probar que funcione accediendo a tudominio.com/phpmailer/enviodecorreo/envio.php cambiando los datos que hagan falta, como por ejemplo el nombre de tu dominio y/o el nombre de la carpeta o archivo si colocaste un nombre diferente a los que recomendamos acá. Si todo va bien, te debería llegar un correo a la cuenta que configuraste. Si no, activa el modo debug para que puedas ver qué está fallando.

  7. ¡Listo!

En caso de que necesites alguna ayuda, ponte en contacto con el equipo de soporte de Neolo y con gusto te ayudaremos.

  • Email, SSL
  • 3 Los Usuarios han Encontrado Esto Útil
¿Le ha resultado útil la respuesta?

Related Articles

¿Cómo crear un formulario de contacto HTML?

IMPORTANTE: Este tipo de formularios se ha dejado de utilizar por cuestiones de seguridad. Te...

¿Cómo implementar el reCAPTCHA en un formulario de contacto?

Muchos Piratas informáticos utilizan robots que ingresan a tu sitio web para enviar Spam, una...

¿Cómo configurar mi sitio web para que la URL se muestre con o sin www?

  Cuando ingresas a un sitio web puedes visualizar la URL con www o sin www. Para lograrlo solo...

¿Puedo usar Ghostscript en hosting compartido?

Ghostscript es un paquete de software que permite convertir archivos PostScript a PDF. Es...

¿Cómo se habilita la compresión de texto en mi cuenta de hosting compartido?

Algunos servicios tales como Google Insight requieren que tu sitio web tenga habilitada la...