Enviar email mediante un servidor SMTP en WordPress

Siempre es una muy buena idea utilizar un servidor SMTP cuando enviamos un email desde un script. Enviar los correos desde un SMTP previene muchas incidencias como el hecho de que tus emails sean marcados como spam. Básicamente, las funciones mail() o wp_mail() son las que utiliza WordPress para enviar correos. Si quieres utilizar un servidor SMTP para enviar correos en WordPress, la clase PHPMailer te vendrá a las mil maravillas.

Existen muchos plugins para WordPress que te permiten enviar correos mediante un servidor SMTP, pero no te harán falta ya que con unas cuantas líneas de código podrás hacerlo de igual modo. En este tutorial, te mostraremos cómo enviar emails utilizando un servidor SMTP en WordPress.

Clase PHPMailer en WordPress

Antes de comenzar, debes inicializar la clase PHPMailer.

/*
 * Initialize phpmailer class
 */
global $phpmailer;

// (Re)create it, if it's gone missing
if ( ! ( $phpmailer instanceof PHPMailer ) ) {
    require_once ABSPATH . WPINC . '/class-phpmailer.php';
    require_once ABSPATH . WPINC . '/class-smtp.php';
}
$phpmailer = new PHPMailer;

Enviar un email en WordPress vía SMTP

El siguiente código enviar un correo HTML via SMTP mediante la clase PHPMailer en WordPress.

// SMTP configuration
$phpmailer->isSMTP();                    
$phpmailer->Host = 'smtp.example.com';
$phpmailer->SMTPAuth = true;
$phpmailer->Username = [email protected]';
$phpmailer->Password = '*****';
$phpmailer->SMTPSecure = 'tls';
$phpmailer->Port = 587;

$phpmailer->setFrom([email protected]', 'Example');

// Add a recipient
$phpmailer->addAddress([email protected]');

// Add cc or bcc 
$phpmailer->addCC([email protected]');
$phpmailer->addBCC([email protected]');

// Set email format to HTML
$phpmailer->isHTML(true);

// Email subject
$phpmailer->Subject = 'Send Email via SMTP from WordPress';

// Email body content
$mailContent = "<h1>Send HTML Email using SMTP in WordPress</h1>
    <p>This is a test email has sent using SMTP mail server with PHPMailer from WOrdPress.</p>";
$phpmailer->Body    = $mailContent;

if(!$phpmailer->send()){
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $phpmailer->ErrorInfo;
}else{
    echo 'Message has been sent';
}

Enviar email a múltiples destinatarios

Añade el método addAddress() múltiples veces para enviar un email a varios destinatarios.

// Add multiple recipient
$phpmailer->addAddress([email protected]');
$phpmailer->addAddress([email protected]');
$phpmailer->addAddress([email protected]');

Enviar un email utilizando el SMTP de Gmail en WordPress

Si deseas utilizar tu cuenta de Gmail para enviar emails en WordPress, debes realizar ciertos cambios en la configuración de tu cuenta de Google. Modifica tu cuenta de Google siguiendo estos sencillos pasos:

Inicia sesión con tu cuenta de Google

Ve a la página Mi cuenta. Haz clic en el enlace Inicio de sesión en Google en la sección Inicio de sesión y seguridad.

Baja hacia Contraseña y método de inicio de sesión y desactiva la Verificación en dos pasos

En el menú de la izquierda, haz clic en Aplicaciones y sitios conectados a tu cuenta y activa la opción de Permitir el acceso de aplicaciones menos seguras.

Ahora puedes utilizar tu cuenta de Gmail como servidor SMTP para enviar correos desde WordPress.

No olvides definir las credenciales de Gmail en el código:

// Gmail SMTP configuration
$phpmailer->isSMTP();
$phpmailer->Host = 'smtp.gmail.com';
$phpmailer->SMTPAuth = true;
$phpmailer->Username = [email protected]';
$phpmailer->Password = '********';
$phpmailer->SMTPSecure = 'tls';
$phpmailer->Port = 587;

Fuente: codexworld.com

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP