La función de correo PHP mail() no envía correo si es dirección de Yahoo

publicado por: Anonymous

Buenas noches compañeros.
Espero alguien pueda ayudarme.

Lo que ocurre es que tengo un formulario donde se envía un mensaje a un correo electrónico de Yahoo. Cuando se envía un correo con dirección de @gmail o @hotmail el correo llega perfectamente o incluso con cualquier otra dirección. El problema ocurre cuando se envía de una dirección de @yahoo.

Probe cambiando el destino a una cuenta de Gmail y ocurre lo mismo, si se envía de una dirección de @yahoo el mensaje no llega pero me marca que si fue enviado.

Adjunto el código envío PHP:

<?php
$name = $_POST['name'];
$affair = $_POST['affair'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$message = $_POST['message'];

$header = 'From: ' . $email . " rn";
$header .= "X-Mailer: PHP/" . phpversion() . " rn";
$header .= "Mime-Version: 1.0 rn";
$header .= "Content-Type: text/plain";


$mensaje = "De: $name n";
$mensaje .= "Télefono: $phone n";
$mensaje .= "Correo electrónico: $email n";
$mensaje .= "Enviado el " . date('d/m/Y')."nn";
$mensaje .= " $message ";


$para = '[email protected]';
$asunto = "Mensaje de mi sitio Web: $affair ";

echo (mail($para, $asunto, utf8_decode($mensaje), $header)) ? 'Mensaje enviado. Gracias por tu espera' : 'Mensaje no enviado. Por favor revisa que tu información es correcta';
?>

solución

Probablemente tu servidor esté baneado de Yahoo, recuerda que para que un servidor pueda enviar correos de manera correcta debe cumplir con muchos requisitos, por ejemplo:

  • Contar con una firma DKIM
  • Contar con registros SPF
  • La dirección IP del servidor debe estar permitido como enviador por el registro SPF
  • Contar con registros DMARC
  • La dirección IP del servidor debe contar con un registro inverso válido según registro SPF y DKIM
  • Las cabeceras de envío de correos debe declarar el nombre del servidor
    real

Normalmente todo esto no se hace solo, debes hacerlo tu mismo, si usas cpanel entonces todo esto se realiza de manera casi automática, si has utilizado una instalación manual entonces deberás realizar todas estas modificaciones de manera manual, comenzando por instalar OpenDKIM y crear tus entradas de registros DNS que correspondan.

Recuerda cada cierto tiempo darle un vistazo a tus correos en cola, otra opción es que tu servidor fue atacado y se ha puesto a enviar correos de manera masiva y has caído en alguna lista negra, para saber esto revisar tu dominio y dirección ip en algún sitio de verificación RBL.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *