Cómo enviar Emails SMTP desde WordPress sin usar un Plugin

Categorias: Wordpress

Cómo enviar Emails SMTP desde WordPress sin usar un Plugin

Desde WordPress se pueden realizar envíos de email desde la función PHP Mail.

El problema es que, en ocasiones, este sistema genera alguna incompatibilidad o error en el envío de los emails.

Para solucionar esto se puede hacer que WordPress envíe los emails a través del protocolo SMTP, como cualquier email que tengamos configurado.

Esto es muy sencillo de conseguir, sólo usando un plugin podemos configurar WordPress para que realice los envíos desde SMTP. En este artículo, hablamos sobre cómo conseguir esto.

El problema viene, precisamente, de tener que usar un plugin para conseguir enviar emails por SMTP, ya que el uso de muchos plugins en WordPress, puede pone en riesgo el correcto funcionamiento de una instalación de WordPress al acabar con los recursos del hosting.

Existe una manera de poder enviar emails desde SMTP en WordPress sin tener que instalar un plugin, pero hay que realizar cambios en un archivo de WordPress, por lo que es importante realizar una copia de seguridad de nuestro hosting antes de continuar.

Importante: Haz una copia de seguridad del hosting antes de realizar cambios en los archivos de WordPress.


Modificando el Archivo Functions.php

El archivo que hay que modificar para que WordPress nos permita enviar emails desde SMTP se llama functions.php.

El archivo functions.php no pertenece al core de WordPress, si no que se encuentra en el theme que se esté usando en WordPress.

Esto es importante recordarlo, ya que si se cambia de theme los cambios que se hayan realizado en el archivo functions.php se perderán.

Las modificaciones realizadas en este archivo pueden hacer que WordPress deje de funcionar, por lo que habrá que realizar una copia de seguridad del mismo antes de modificarlo, si no se ha realizado aun, este es buen momento para hacerlo.

Añadiendo código al archivo functions.php es posible realizar modificaciones importantes en el comportamiento de WordPress, por lo que hay que tener mucho cuidado al modificarlo, para no provocar errores imprevistos.


Localizar el Archivo Functions.php

Para localizar el archivo functions.php, tenemos que dirigirnos al Administrador de Archivos desde cPanel. También se puede acceder usando un cliente de FTP, por ejemplo, FileZilla.

En cualquier caso, hay que dirigirse a la carpeta que contenga el theme que esté activo y se esté usando en WordPress.

Habitualmente, la ruta será algo parecido a este:

public_html/wp-content/themes/Nuestro Theme

localizacion archivo functions-php en WordPress

Una vez localizado, se puede aprovechar para descargarlo y guardarlo a modo de copia de seguridad.

Sólo hay que seleccionar el archivo, hacer click con el botón derecho y pulsar en Download.

descarga archivo functions.php desde Administrador de Archivos

Una vez descargado y guardado, podemos empezar a editar el archivo functions.php


Crear Cuenta de Correo para Realizar los Envíos

Si queremos usar el protocolo SMTP para realizar los envíos con WordPress, necesitamos una cuenta de correo electrónico.

La cuenta de correo es la que WordPress va a usar para enviar los correos electrónicos, como si estuviera configurada en un cliente tipo Outlook, por lo que debemos saber cuál es la contraseña de la cuenta de correo que vamos a utilizar.

Es recomendable que la cuenta de correo sea creada exclusivamente para este propósito, pero la decisión final es del usuario.

En cualquier caso, crear una cuenta de correo desde cPanel es muy sencillo y se puede consultar en esta guía.


Código y Configuración para Enviar Emails SMTP desde WordPress

Una vez hayamos guardado nuestra copia de seguridad del archivo functions.php, podemos empezar a editarlo.

Desde el propio Administrador de Archivos, podemos seleccionar el archivo, hacer click con el botón derecho y pulsar en Edit. Aparecerá un popup que debemos aceptar.

edit archivo functions.php desde Administrador de Archivos

Según el theme que estamos usando en nuestro WordPress, puede que el código del archivo cambie, sea mayor o apenas tenga una lineas, esto depende del propio theme.

En cualquier caso, no hay que eliminar nada, ni modificar ninguna linea de código, al menos que sepamos que estamos haciendo.

El código que tenemos que añadir sería el siguiente:

//Código SMTP WordPress
add_action( 'phpmailer_init', 'send_smtp_email');
function send_smtp_email( $phpmailer )
 {
    $phpmailer->isSMTP();     
    $phpmailer->Host = 'mail.MiDominio.info';
    $phpmailer->SMTPAuth = true; // Force it to use Username and Password to authenticate
    $phpmailer->Port = 587;
    $phpmailer->Username = 'TuEmail@MiDominio.info';
    $phpmailer->Password = 'TuContraseña';

    // Additional settings…
    $phpmailer->SMTPSecure = "tls"; // Choose SSL or TLS, if necessary for your server
    $phpmailer->From = "TuEmail@MiDominio.info";
    $phpmailer->FromName = "TuContraseña";
}


codigo envio de emails por smtp en wordpress - functions.php

Veréis que hay que modificar algunas cosas, como el Host, donde debemos sustituir MiDominio.info por nuestro propio dominio o cambiar el Username por la cuenta de email que hayamos creado así como la contraseña.

Se pueden modificar más aspectos, como el puerto de conexión o usar SSL en lugar de TLS, pero esta configuración básica debería de funcionar sin mayores problemas.

Una vez añadido sólo debemos guardar los cambios y probar si WordPress envía emails de manera correcta.

Uno de los errores más comunes suelen ser los problemas con los certificados de seguridad.

Pero tiene fácil solución ya que podemos emitir un certificado de seguridad gratuito desde el propio cPanel para mail.MiDominio.info.

Emitir un certificado de seguridad desde cPanel es muy sencillo, pero se puede consultar esta guía para emitirlo en menos de 3 minutos.

Cosas a Tener en Cuenta

Modificar el archivo functions.php para que WordPress pueda enviar emails a través de SMTP sin necesidad de usar un plugin, es algo sencillo de realizar, sólo hay que tener precaución de realizar las copias de seguridad antes de modificar nada.

También hay que recordar que si en algún momento eliminamos la cuenta de correo que configuremos, WordPress dejará de enviar emails hasta que volvamos a modificar el archivo functions.php.

En esta guía hemos hablado de cómo podemos hacer una copia de seguridad del archivo, editarlo para enviar emails usando SMTP desde WordPress y emitir un certificado de seguridad SSL gratuito en caso de que surja algún problema con el certificado.

Todo esto lo podemos hacer sin salir de cPanel, que es el panel de control que se incluye en todos los alojamientos compartidos que se ofrecen en Hostinet. (Linux).

Además, disponemos de planes de hosting WordPress SSD son soporte técnico especializado, atención telefónico, instalador automático y mucho más al mejor precio:

Hosting SSD NVMe