was successfully added to your cart.

Envía mails desde Contact Form 7 Solución definitiva

Si has instalado WP mail SMTP y el envío de mail no te ha funcionado, posiblemente sea porque tu SMTP requiere autenticación para poder enviar mails.

Si has probado a hacerlo directamente desde el wordpress o desde un modulo para la autenticación del envío y sigue sin funcionarte, prueba esto:

Vé a Apariencia->Editor, busca en la derecha el fichero functions.php

Pega este código al final de todo:

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. smtp.midominio.com
    $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";
}

Configura todos los parametros, y verás que te funciona correctamente.

Edición de 30/06/2017
Me he encontrado que en algunos casos hay que añadir dentro de la función los siguientes parametros:

	$phpmailer->SMTPOptions = array(
 	'ssl' => array(
 	'verify_peer' => false,
 	'verify_peer_name' => false,
 	'allow_self_signed' => true
	));

Por lo que el código que habría que añadir a functions.php es el siguiente:

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. smtp.midominio.com
    $phpmailer->Host = "smtp.servidorSMTP.com";
 
    // 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 = "CUENTA@TUCORREO.com";
 
    // 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 = "CUENTA@TUCORREO.com";
    $phpmailer->FromName = "NOMBRE DE ENVÍO";

	$phpmailer->SMTPOptions = array(
 	'ssl' => array(
 	'verify_peer' => false,
 	'verify_peer_name' => false,
 	'allow_self_signed' => true
	));
}