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