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 = "[email protected]";
    $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 = "[email protected]";
 
    // 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 = "[email protected]";
    $phpmailer->FromName = "NOMBRE DE ENVÍO";

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

 

David Escudero | Programador freelance, desarrollador paginas web
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.