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:

  • SSD 55´99 / mes
  • SSD 2511´99 / mes
  • SSD 5015´99 / mes
  • SSD 7519´99 / mes
  • SSD 55´99/mes
  • SSD 2511´99/mes
  • SSD 5015´99/mes
  • SSD 7519´99/mes
    • Almacenamiento en disco dura ultra rapido SSD
    • El espacio en disco es la suma del espacio que ocupan los archivos que forman la web y el correo electrónico.
    • La transferencia de datos mensual es la cantidad total de información que se descargan los visitantes de nuestra web en cada acceso más nuestro uso a través de FTP y correo.
    • Cada dominio alojado muestra un contenido único y diferente del resto
    • Tras evaluación de nuestro equipo de migraciones y nuevas altas de Hosting
    • Cuentas de correo gestionables a través de POP, IMAP y servicio Webmail
    • Todo lo que necesitas para sacar partido a tu Host
    • Bases de datos MySQL disponibles para su uso en cada alojamiento web
    • Contrata tu hosting web y consigue dominios gratisUna vez dado de alta tu alojamiento web, recibirás los vales correspondientes para registrar nuevos dominios .ES, .COM ó .EU.Una vez dado de alta tu alojamiento web, recibirás los vales correspondientes para registrar nuevos dominios .ES, .COM ó .EU.Una vez dado de alta tu alojamiento web, recibirás los vales correspondientes para registrar nuevos dominios .ES, .COM ó .EU.Una vez dado de alta tu alojamiento web, recibirás los vales correspondientes para registrar nuevos dominios .ES, .COM ó .EU.
    • Elige la versión de PHP que necesites
    • Certificado SSL autofirmadoCertificados Let's Encrypt. Mas Información AQUICertificados Let's Encrypt. Mas Información AQUICertificados Let's Encrypt. Mas Información AQUICertificados Let's Encrypt. Mas Información AQUICertificados Let's Encrypt. Mas Información AQUI
    • Migramos tu web de tu actual host a HostinetMigramos tu web de tu actual host a HostinetMigramos tu web de tu actual host a HostinetMigramos tu web de tu actual host a HostinetMigramos tu web de tu actual host a Hostinet
    • Contrata tu hosting web y consigue dominios gratisUna vez dado de alta tu alojamiento web, recibirás los vales correspondientes para registrar nuevos dominios .ES, .COM ó .EU.Una vez dado de alta tu alojamiento web, recibirás los vales correspondientes para registrar nuevos dominios .ES, .COM ó .EU.Una vez dado de alta tu alojamiento web, recibirás los vales correspondientes para registrar nuevos dominios .ES, .COM ó .EU.
    • Aparcando un dominio secundario en el alojamiento de nuestro dominio principal conseguimos que ambos dominios resuelvan indistintamente con la misma página que tenemos colgada.
    • Cuentas de correo gestionables a través de POP, IMAP y servicio Webmail
    • Tus buzones de correo y mails limpios de virus y con un potente filtro antispam
    • Centro de datos en Madrid (España)
    • Opcion de contratación de IP dedicadaPuedes contratar tu Ip dedicada por solo 11.95 € al año AQUIPuedes contratar tu Ip dedicada por solo 11.95 € al año AQUIPuedes contratar tu Ip dedicada por solo 11.95 € al año AQUIPuedes contratar tu Ip dedicada por solo 11.95 € al año AQUIPuedes contratar tu Ip dedicada por solo 11.95 € al año AQUI
    • Certificado SSL autofirmadoCertificados Let's Encrypt. Mas Información AQUICertificados Let's Encrypt. Mas Información AQUICertificados Let's Encrypt. Mas Información AQUICertificados Let's Encrypt. Mas Información AQUICertificados Let's Encrypt. Mas Información AQUI
    • Opción de contratación de certificados SSL Wildcard. Se requiere Ip dedicada.Puedes contratar tu certificado SSL desde solo 99.95 € al año AQUIPuedes contratar tu certificado SSL desde solo 99.95 € al año AQUIPuedes contratar tu certificado SSL desde solo 99.95 € al año AQUIPuedes contratar tu certificado SSL desde solo 99.95 € al año AQUIPuedes contratar tu certificado SSL desde solo 99.95 € al año AQUI
    • Opción de contratación de certificados SSL Extended Validation (EV). Se requiere Ip dedicada.Puedes contratar tu certificado SSL desde solo 195.00 € al año AQUIPuedes contratar tu certificado SSL desde solo 195.00 € al año AQUIPuedes contratar tu certificado SSL desde solo 195.00 € al año AQUIPuedes contratar tu certificado SSL desde solo 195.00 € al año AQUIPuedes contratar tu certificado SSL desde solo 195.00 € al año AQUI
    • Opción de contratación de certificados SSL Organization Validation (OV). Se requiere Ip dedicada.Puedes contratar tu certificado SSL desde solo 525.00 € al año AQUIPuedes contratar tu certificado SSL desde solo 525.00 € al año AQUIPuedes contratar tu certificado SSL desde solo 525.00 € al año AQUIPuedes contratar tu certificado SSL desde solo 525.00 € al año AQUIPuedes contratar tu certificado SSL desde solo 525.00 € al año AQUI
    • Con nuestra herramienta WebFácil construye tu página web en solo 5 pasos.
    • Con la herramienta de instalación Softaculous tan solo deberás elegir la aplicación deseada y con tan solo un par de clicks y de forma totalmente automatizada tendrás tus herramientas favoritas instaladas en tu Host.
    • Bases de datos MySQL disponibles para su uso en cada alojamiento web
    • Supeditado al espacio total del alojamientoSupeditado al espacio total del alojamientoSupeditado al espacio total del alojamientoSupeditado al espacio total del alojamientoSupeditado al espacio total del alojamiento
    • ¿Quieres realizar desarrollos con Python? En Hostinet innovamos dia a dia en tu beneficio y por ello te presentamos como última novedad en todos nuestros servidores Web la posibilidad de desplegar tus aplicaciones con Python directamente desde el cPanel de tu Hosting.
    • ¿Quieres desarrollar tus aplicaciones con Ruby? En Hostinet te presentamos como última novedad en todos nuestros servicios de Hosting Web la posibilidad de desplegar tus aplicaciones con Ruby on Rails directamente desde el panel de control cPanel.
    • El fichero .htaccess permite modificar diferentes variables en la configuración de nuestra cuenta de alojamiento en el servidor.
    • El módulo mod_rewrite permite crear direcciones URL alternativas a las dinámicas generadas por la programación de nuestros sitio web (blog, foro, portal…), de tal modo que sean más legibles y fáciles de recordar
    • Te ayudamos vía email y teléfono en todas tus consultas sobre hosting web. Soporte en español por personal de Hostinet.
    • Completa recopilación de tutoriales sobre Hosting y Dominios
    • 30 dias para probar tu servicio de Hosting y si no te convence el servicio... te devolvemos el dinero!!
    • Copia diaria incremental realizada por HostinetCopia diaria incremental realizada por HostinetCopia diaria incremental realizada por HostinetCopia diaria incremental realizada por HostinetCopia diaria incremental realizada por Hostinet
    • Podrás hacer tus copias de seguridad desde tu panel de alojamiento webPodrás hacer tus copias de seguridad desde tu panel de alojamiento webPodrás hacer tus copias de seguridad desde tu panel de alojamiento webPodrás hacer tus copias de seguridad desde tu panel de alojamiento webPodrás hacer tus copias de seguridad desde tu panel de alojamiento web
    • Precios para nuevas altas. Contratación anual.Precios para nuevas contrataciones. Contratación anual.Precios para nuevas contrataciones. Contratación anual.Precios para nuevas contrataciones. Contratación anual.Precios para nuevas contrataciones. Contratación anual.Precios para nuevas contrataciones. Contratación anual.
    • Contratacion anualContratacion anualContratacion anualContratacion anualContratacion anual