PHPMailer — Instalación en un servidor Shared

Generalidades

PHPMailer te permite enviar correos electrónicos desde tu sitio a través de SMTP. Visita la página de GitHub de PHPMailer para obtener más detalles sobre lo que tiene para ofrecer.

Este artículo explica cómo instalar PHPMailer en un servidor Shared. Si tu sitio web está en un servidor VPS o Dedicado, visita el siguiente artículo.

Instalando PHPMailer

  1. Inicia sesión en tu servidor a tráves de SSH.
  2. Asegúrate de estar en el directorio de inicio de tu usuario.
    [server]$ cd ~
  3. Descarga el archivo zip de GitHub.com.
    [server]$ wget https://github.com/PHPMailer/PHPMailer/archive/master.zip
  4. Descomprime el archivo.
    [server]$ unzip master.zip
    Esto crea un directorio llamado 'PHPMailer-master'.
  5. Renombra este directorio.
    [server]$ mv PHPMailer-master PHPMailer

Código básico de ejemplo para correo electrónico alojado en DreamHost

Inserta el siguiente código en un archivo PHP.

Solo necesitas acutalizar el código en negrilla.

nombredeusuario — Asegurate de cambiar el campo 'username' a tu actual nombre de usuario Shell. También, puedes ver esto ejecutando el siguiente comando.

[server]$ echo $USER
username

Host — Si estás enviando desde una dirección de DreamHost, debes usar solamente smtp.dreamhost.com. Si estás usando una dirección de Gmail, usa smtp.gmail.com.

UsernamesetFrom ambos deben ser un correo electrónico en el dominio desde el que estás enviando.

<?php
// Importar clases PHPMailer en el espacio de nombres global
// Deben estar en la parte superior de su script, no dentro de una función
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require '/home/nombredeusuario/PHPMailer/src/Exception.php';
require '/home/nombredeusuario/PHPMailer/src/PHPMailer.php';
require '/home/nombredeusuario/PHPMailer/src/SMTP.php';

$mail = new PHPMailer(true);                              // Pasar `true` habilita excepciones
try {
    //Configuraciones de servidor
    $mail->SMTPDebug = 2;                                 // Habilitar salida de depuración detallada
    $mail->isSMTP();                                      // Configurar el remitente para usar SMTP
    $mail->Host = 'smtp.dreamhost.com';                  // Especificar servidores SMTP principales y de respaldo
    $mail->SMTPAuth = true;                               // Habilitar autenticación SMTP
    $mail->Username = 'contact@example.com';             // Nombre usuario SMTP
    $mail->Password = 'secret';                           // Contraseña SMTP
    $mail->SMTPSecure = 'tls';                            // Habilitar encriptación TLS, `ssl` también es aceptado
    $mail->Port = 587;                                    // TCP puerto para conectarse

    //Destinatarios
    $mail->setFrom('contacto@example.com', 'Mailer');          //Este es el correo electrónico desde el que envía su formulario
    $mail->addAddress('destinatario@dreamhost.com', 'Juan Usuario'); // Agregar una dirección de destinatario
    //$mail->addAddress('contacto@example.com');               // Nombre es opcional
    //$mail->addReplyTo('info@example.com', 'Información');
    //$mail->addCC('cc@example.com');
    //$mail->addBCC('bcc@example.com');

    //Archivos adjuntos
    //$mail->addAttachment('/var/tmp/archivo.tar.gz');         // Add attachments
    //$mail->addAttachment('/tmp/imagen.jpg', 'nuevo.jpg');    // Nombre opcional

    //Contenido
    $mail->isHTML(true);                                  // Establecer formato de correo electrónico a HTML
    $mail->Subject = 'La línea de asunto va aquí';
    $mail->Body    = 'El texto del cuerpo va aquí';
    //$mail->AltBody = 'Este es el cuerpo en texto plano para clientes de correo no HTML';

    $mail->send();
    echo 'El mensaje ha sido enviado';
} catch (Exception $e) {
    echo 'El mensaje no pudo ser enviado.';
    echo 'Error de correo: ' . $mail->ErrorInfo;
}
?>

Permitir que GMAIL envíe desde tu aplicación de correo

Si estás utilizando tu dirección de GMAIL para enviar a través de SMTP, primero debes permitir que tu aplicación acceda a tu dirección de GMAIL. Si no haces esto, tu correo electrónico no se autenticará y no se enviará. Ve el siguiente artículo para más detalles:

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?