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
));
}

