18 Nov

WordPress no manda emails ¿Cómo solucionarlo?

Compartir

Debido a las configuraciones de seguridad del servidor, tu web instalado con WordPress no puede enviar emails si el remitente no existe. Esta seguridad se aplica en MagicOnline para evitar envios de spam y garantizar que los emails enviados por tu web, lleguen a su destino.

El error que da el plugin de formulario de contacto o envio de newsletter suele ser algo similar a:

The email could not be sent.
Possible reason: your host may have disabled the mail() function.

1- Enviar emails desde WordPress mediante SMTP

Con tu plan de hosting, puedes usar el servidores SMTP con el que haces uso del correo habitualmente para tu WordPress, en definitiva sustituir la función PHP mail() por un servidor SMTP tal como harías para configurar con un cliente de correo como Outlook, Thunderbird, iOs, Android, etc

El primer paso es crear la cuenta de correo enMagicOnline, si no la tienes ya creada. Es obligatorio que el remitente que vas a configurar a continuación, sea un buzón de correo que haya sido creado previamente en MagicOnline. Con esta medida, su web estará protegida contra la suplantación de identidad y envios de spams.

Recuerda visitar el manual de como crear una cuenta de correo en el Panel Plesk
¿Cómo crear cuentas de correo en Plesk?

Aunque es posible hacerlo editando el archivo function.php de la plantilla de WordPress, existen soluciones más rápidas mediante plugins:

  • WP mail SMTP: Un veterano pero que funciona a la primera. Simplemente indicas los datos de conexión de tu servidor SMTP y guardas los cambios. Si lo deseas puedes enviar un email de prueba. La única pega es que lleva un tiempo sin actualizarse, pero funcionar funciona.
  • Easy WP SMTP: Prácticamente igual que el anterior, se configura igual y permite también enviar emails de prueba. Es mejor que, si dudas, uses este pues al menos está actualizado al día.
  • Easy SMTP Mail: Otro que te costará distinguir de los anteriores. Hace lo mismo, lo hace igual. La decisión entre cualquiera de estos es cuestión más de gustos de la interfaz que otra cosa. Yo elegiría el anterior, básicamente porque se actualiza más y hay más instalaciones que lo avalan, pero si te gusta funciona igual de bien.

En todos ellos, necesitaras los datos de conexión con alguna de las cuentas de correo electrónico de tus dominios.

A continuación te indicamos los datos generales de MagicOnline:

Servidor de correo saliente (SMTP): mail.midominio.com

Puerto: 465 con conexión cifrada SSL

Además de esto ya solo te falta tu usuario y contraseña, que corresponde a los de tu correo electrónico (los mismos con los que accederías a webmail.sudominio.com).

2-Configurar servidor SMTP en WordPress sin plugin

Otra forma de configurar WordPress evitando la instalación de un plugin, es  modificando el archivo functions.php de tu plantilla WordPress, y configurar las diferentes variables para que envíe correctamente con tu servidor.

Función para envío mediante SMTP

add_action('phpmailer_init','send_smtp_email');
function send_smtp_email( $phpmailer )
{
    // Define que estamos enviando por SMTP
    $phpmailer->isSMTP();
 
    // La dirección del HOST del servidor de correo SMTP p.e. mail.midominio.com o pa IP del servidor
    $phpmailer->Host = "your server smtp address";
 
    // Uso autenticación por SMTP (true|false)
    $phpmailer->SMTPAuth = true;
 
    // Puerto SMTP - Suele ser el 25, 465 o 587
    $phpmailer->Port = "587";
 
    // Usuario de la cuenta de correo
    $phpmailer->Username = "user name";
 
    // Contraseña para la autenticación SMTP
    $phpmailer->Password = "password";
 
    // El tipo de encriptación que usamos al conectar - ssl (deprecated) o tls
    $phpmailer->SMTPSecure = "tls";
 
    $phpmailer->From = "tucuenta@decorreo.com";
    $phpmailer->FromName = "Tu nombre";
}

 

3- Configurar el plugin contact form

Uno de los plugins más populares en WordPress que permite crear un formulario de contacto es Contact Form 7, y esterequiere también una configuración especifica para su optimo rendimiento en los servidores de MagicOnline.

configura-www.magiconline.es-contacform7

Los campos a rellenar:

Para:” Es el destinatario del correo. Es decir, al email donde quiere que lleguen los formularios de contactos enviados desde su web. Debe ser una cuenta de correo de su dominio en MagicOnline.

From:” Es el email remitente del usuario que rellenará el formulario de contacto. En el caso de que este campo no sea rellenado por el usuario, recomendamos que el email no sea el mismo que el campo “Para”  . Habitualmente en este caso, se usa no-reply@nuestrodominio.com

“Cabeceras adicionales:”  Copie tal cual este indicado en la imagen precedente, para garantizar la correcta entrega del email.

Esta información y más opciones adicionales las puedes encontrar en la documentación del propio plugin en la siguiente dirección web: http://contactform7.com/setting-up-mail/

 

Conclusiones:

Como norma de seguridad, no se recomienda usar WordPress y PHP para mandar los emails en casos de envios de newsletters y mailmarketing,  evitando así las listas negras de spam. Con los ejemplos de configuración, configuraremos de forma óptima el envio de correos en WordPress y o caso entrarías a formar parte de las listas negras de spammers en cuestión de días. Consulta además las 15 reglas de oro para proteger tu WordPress