es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

PHP Mailer: enviando correos desde gmail a yahoo, código no reconocido.

Quiero enviar un correo electrónico desde una dirección de Gmail a una dirección de Yahoo. Funciona, pero cuando abro el correo electrónico de Yahoo, no reconoce el mensaje que he enviado desde la dirección de Gmail. Por ejemplo, tengo un botón para la confirmación de inicio de sesión que tienes que presionar cuando recibes el correo. Cuando envío a una dirección de Gmail, puedes presionar el botón, pero cuando se trata de una dirección de Yahoo… no :(. ¿Alguna idea de por qué? ¿Y cómo arreglar esto?
“`
$sentTo = $email;
$message = "Confirmar registro";
$mail = new PHPMailer;

<pre><code> //$mail->SMTPDebug = 2;

$mail->isSMTP(); // Configurar el envío de correo por SMTP
$mail->Host = 'smtp.gmail.com'; // Especificar el servidor principal y de respaldo
$mail->SMTPAuth = true; // Habilitar la autenticación SMTP
$mail->Username = 'miusername'; // Usuario SMTP
$mail->Password = 'contraseña'; // Contraseña SMTP
$mail->SMTPSecure = 'tls'; // Habilitar el cifrado, también se acepta 'ssl'
$mail->Port = 587; // Establecer el número de puerto SMTP – 587 para TLS autenticado
$mail->setFrom('miusername@gmail.com', 'SITIO WEB'); // Establecer quién enviará el mensaje
$mail->addAddress($sentTo); // Agregar un destinatario
$mail->WordWrap = 50; // Establecer la longitud de línea en 50 caracteres
$mail->isHTML(true); // Establecer el formato de correo electrónico en HTML

$mail->Subject = "Viaja Inteligente – Confirmar registro – ";
$mail->Body = "<div style='padding: 10px; border-radius: 10px; height: auto; background-image:linear-gradient(to right, rgba(287, 202, 192), rgba(142, 65, 98));opacity:0.8;'><h2 style='font-family:cursive'> ¡BIENVENIDO! </h2> <br> <a href='localhost/log.php?unique_id=$ran_id'><button style='color:white; background:black; pointer: cursor; padding: 10px; border-radius: 20px;'>". $message."</button></a><br></div>";
$mail->AltBody = $message;

if(!$mail->send()) {
echo 'El mensaje no se pudo enviar.';
echo 'Error del correo: ' . $mail->ErrorInfo;
exit;
}
</code></pre>

“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema podría deberse a que el filtro de correo no deseado de Yahoo haya categorizado erróneamente el correo electrónico de Gmail como correo no deseado. Una forma de solucionarlo es pedir al destinatario que revise su carpeta de correo no deseado y marque el correo electrónico como “no es spam” para entrenar el algoritmo de Yahoo.

    Otra solución es agregar direcciones de correo electrónico de Yahoo a la lista blanca de Gmail, lo que puede ayudar a asegurarse de que los correos electrónicos de Gmail no sean marcados como spam por Yahoo. Para hacer esto, el usuario de Gmail debe ir a la configuración de su correo electrónico, luego a “Filtros y direcciones de correo bloqueadas”, y crear un nuevo filtro agregando las direcciones de correo electrónico o dominios de Yahoo a la lista. Luego pueden elegir “Nunca enviar a spam” para agregar estas direcciones a la lista blanca.

    También es posible que el problema esté en el código HTML del correo electrónico. Yahoo podría estar bloqueando ciertos botones o enlaces si no están correctamente formateados o si contienen etiquetas HTML sospechosas. En este caso, el código PHP podría necesitar ser editado para asegurarse de que el HTML sea compatible con el cliente de correo electrónico de Yahoo.

Comments are closed.