Cómo enviar correos electrónicos con PHPMailer
Puedes implementar los correos electrónicos transaccionales de SendPulse con la configuración de SMTP en su proyecto utilizando PHPMailer. PHPMailer es compatible con muchas bibliotecas de PHP y le permite crear un correo electrónico personalizado con un archivo adjunto y enviarlo a sus suscriptores.
En este artículo veremos cómo instalar PHPMailer, dónde encontrar los parámetros SMTP en su cuenta SendPulse y cómo configurar un archivo para enviar un correo electrónico.
Instala PHPMailer
PuedeS instalar PHPMailer a través de Composer o descargar el archivo e instalarlo en su proyecto.
Si estás usando Composer, agrega la siguiente línea a tu archivo composer.json:
"phpmailer/phpmailer": "^6.5"
O ejecuta el siguiente comando:
composer require phpmailer/phpmailer
Si no estás utilizando Composer, descarga los archivos de PHPMailer y agrégalos a través de clases adicionales:
?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';
Consulta los detalles de instalación y un ejemplo de código en la documentación oficial de PHPMailer.
Copia tus credenciales de inicio de sesión SMTP
Ve Configurciones SMTP > pestaña General en tu cuenta SendPulse. Copia los valores de autorización en SMTP: dirección del servidor, puerto, inicio de sesión y contraseña.
Puedes acceder a la configuración de SMTP después de activar tu perfil. El mensaje "Tu perfil está siendo moderado" desaparecerá de la página y recibirás un correo electrónico notificándote que tu cuenta ha sido aprobada y activada.
Configura el objeto para usar SMTP
Si usaste Composer para instalar PHPMailer, agrega el archivo autoload.php:
require 'path/to/composer/vendor/autoload.php';
Si instalaste PHPMailer manualmente, inicialo así:
require path/to/PHPMailer/src/PHPMailer.php';
require path/to/PHPMailer/src/SMTP.php';
require path/to/PHPMailer/src/Exception.php';
Crea una clase PHPMailer y un nuevo objeto:
<?php
use PHPMailer\PHPMailer\PHPMailer;
Crea un nuevo objeto PHPMailer:
$mail = new PHPMailer(true);
A continuación, agrega los parámetros SMTP, los datos sobre su remitente y destinatarios, y el contenido de tu correo electrónico.
Agregar configuración de SMTP
En la sección "Configuración del servidor", agrega los datos de tu configuración SMTP a tu cuenta SendPulse.
//Server settings
$mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
$mail->isSMTP(); //Send using SMTP
$mail->Host = 'smtp-pulse.com'; //Set the SMTP server to send through
$mail->SMTPAuth = true; //Enable SMTP authentication
$mail->Username = 'user@example.com'; //SMTP username
$mail->Password = 'secret'; //SMTP password
$mail->SMTPSecure = 'ssl'; //Enable implicit TLS encryption
$mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS
Donde:
Host | dirección del servidor |
SMTPAuth | Indica si la autenticación está habilitada (en nuestro caso, sí, la usamos y debemos agregar el valor true ) |
Nombre de usuario | Tu correo electrónico de inicio de sesión de SendPulse |
Contraseña | Contraseña de tu cuenta SendPulse |
SMTPSecure | Tipo de cifrado (corresponde al puerto) |
Puerto | El puerto que utilizarás para conectarse a SMTP. Puedes elegir 2525, 465 y 587 |
Agrega el Remitente y los Destinatarios
Especifica el remitente y los destinatarios en la sección Destinatarios.
//Recipients
$mail->setFrom('from@example.com', 'Mailer');
$mail->addAddress('joe@example.net', 'Joe User'); //Add a recipient
$mail->addAddress('ellen@example.com'); //Name is optional
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');
Dónde:
setFrom | Nombre y dirección del remitente del correo electrónico.
La dirección del remitente debe verificarse en tu cuenta SMTP |
addAddress | Nombre y dirección de correo electrónico del destinatario principal.
Puedes enviar tantos correos electrónicos por hora como lo determine tu plan de pago. |
addCC | Dirección de correo electrónico y nombre del destinatario secundario en la copia. El destinatario verá otros destinatarios. |
addCC | Dirección de correo electrónico y nombre del destinatario secundario en BCC. El destinatario no verá a otros destinatarios. |
Agrega tu contenido de correo electrónico
Especifica los parámetros de correo electrónico en la sección Contenido.
Para personalizar el mensaje en el valor del parámetro, puedes utilizar las variables de tu proyecto.
//Content
$mail->isHTML(true); //Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Encoding = 'base64';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
$mail->msgHTML(file_get_contents('contents.html'), __DIR__);
Dónde:
Asunto | Asunto de tu correo electrónico |
Cuerpo | Cuerpo de tu correo electrónico HTML |
AltBody | Versión de texto de su correo electrónico |
Codificación | Codifica el contenido del correo electrónico en el formato de datos seleccionado.
Puedes usar los valores Puede usar los valores imprimibles entre comillas y base64. |
msgHTML | Converts an HTML email version to a text version |
Además, puedes adjuntar archivos al mensaje. Especifica la ruta del archivo y el nombre del archivo en el parámetro addAttachment
//Attachments
$mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name
Establece los atributos de envío
Al final del documento, la función de envío es especificada
. En el comando echo
, puedes especificar qué mensaje mostrar si el envío es exitoso o cuando recibes un error de envío:
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
Puedes consultar un ejemplo de una configuración de archivo diferente en la documentación oficial de PHPMailer: Ejemplo simple y Ejemplo: SMTP.
Si tienes problemas para usarlo, también puedes consultar Solución de problemas de PHPMailer y ver los Códigos de Error SMTP.
Luego, deberás ejecutar un archivo de acuerdo con la configuración de tu proyecto en cada evento para poder enviar un correo electrónico transaccional.
Última actualización: 12.11.2024
o