tutorial - PHPMailer: hipervínculo aparece entre corchetes en perspectiva
hipervinculo w3school (1)
Los clientes de correo electrónico tienen diferentes motores de renderizado.
Parece que gmail generará un enlace sin el protocolo http://
o https://
.
Outlook aún puede necesitarlo.
Intente usar una URL sin protocolo (aka sin esquema): //
$body = "<a href=''//".DIR."activate.php?x=$id&y=$activasion''>".DIR."activate.php?x=$id&y=$activasion</a>";
EDITAR:
Nota de @Synchro en los comentarios:
Las URL de protocolo anónimo / relativo son una mala idea en el correo electrónico porque, a menos que esté en un cliente de correo web, no tiene un protocolo base con el que relacionarse, por lo que simplemente se rompen. Hágalo explícito y funcionará en todas partes, y en estos días es difícil encontrar una buena excusa para no usar https.
Uso phpmailer para enviar un correo electrónico con un hipervínculo en su cuerpo. Tengo este código:
$body = "<a href=''".DIR."activate.php?x=$id&y=$activasion''>".DIR."activate.php?x=$id&y=$activasion</a>";
require(''classes/PHPMailerAutoload.php'');
$mail = new PHPMailer;
$mail->CharSet = "UTF-8";
$mail->SMTPDebug = 2; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = SMTP_HOST; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = SMTP_USER; // SMTP username
$mail->Password = SMTP_PASSWORD; // SMTP password
$mail->SMTPSecure = ''ssl''; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to
$mail->setFrom(SMTP_USER);
$mail->addAddress($to); // Add a recipient Name is optional
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AltBody = $altbody;
if(!$mail->send()) {
echo $mail->ErrorInfo;
}
Cuando envío el correo electrónico a una dirección de Gmail y lo abro en Gmail, el hipervínculo se ve bien (puedo hacer clic en el enlace y redirigirlo a la página).
Pero cuando lo envío a Outlook, el hipervínculo se ve así:
[my.domain.com/activate.php?x=52&y=aa1fdf437c526ee219decc1ea72fc266]my.domain.com/activate.php?x=52&y=aa1fdf437c526ee219decc1ea72fc266
¿Alguna idea sobre lo que podría estar mal?