No aparece enlace en email de confirmacion

Iniciado por NIGHTBIRD, 25 Julio 2012, 20:44 PM

0 Miembros y 1 Visitante están viendo este tema.

NIGHTBIRD

Hola a tod@s. Estoy haciendo una web, y a la hora de registrarte, mando un email de confirmacion al usuario que se acaba de registrar para que confirme su registro.

Ese email lo mando usando Swift Mailer en PHP. Swift Mailer es una libreria PHP para enviar emails. El problema que tengo es que en el email, en vez de aparecer el enlace asi:


Para confirmarlo debe hacer click en el siguiente enlace:
CLICK AQUI PARA ACTIVAR CUENTA


aparece literalmente esto:


Para confirmarlo debe hacer click en el siguiente enlace:
<a href="http://localhost:8085/WEB_PROPIA/confirmar.php?codigo=508033209\>CLICK AQUI PARA ACTIVAR CUENTA</a>




En el codigo php tengo esto:



$mensaje = "Usted solicito un registro en http://www.webreal.com, \n
Para confirmarlo debe hacer click en el siguiente enlace: \n";


$enlaceactivacion="<a href=\"http://localhost:8085/WEB_PROPIA/confirmar.php?codigo=".$codigoverificacion."\>CLICK AQUI PARA ACTIVAR CUENTA</a>";

$mensaje=$mensaje.$enlaceactivacion;

require_once 'lib/swift_required.php';



$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com',465,'ssl')
    ->setUsername('emailreal@gmail.com')
    ->setPassword('contraseñareal');

//Creamos el mensaje a través del transporte creado
$mailer = Swift_Mailer::newInstance($transport);
//Creamos el mensaje
$message = Swift_Message::newInstance('Confirmación de Registro')
  ->setFrom(array('emailreal@gmail.com' => 'real'))
  ->setTo(array($email))
  ->setBody($mensaje);

//Finalmente enviamos el mensaje
$result = $mailer->send($message);



El email se envia correctamente, el problema solo es el que he comentado sobre el enlace que no aparece como quiero.

Gracias de antemano.

Un saludo.

karmany

Te has olvidado de las comillas al final de href.
Quítale también la barra inclinada (\) al final de <a>

it3r

lo mismo que te respondieron arriba, para no hacerte bolas prueba haciendo esto


echo '<a href="link" onclick="test()">CLICK</a>';


es decir poner primero comillas simples y en el codigo ya podras usar comillas dobles sin problemas, al contrario también sirve.

Saludos.

Pablo Videla

Primero verifica que acepte el envio de html, segundo arregla esto

Reemplaza tu variable $enlaceactivacion por lo que pondré

Código (php) [Seleccionar]

$enlaceactivacion="<a href='http://localhost:8085/WEB_PROPIA/confirmar.php?codigo='.$codigoverificacion.'>CLICK AQUI PARA ACTIVAR CUENTA</a>";


NIGHTBIRD

Cita de: karmany en 25 Julio 2012, 23:28 PM
Te has olvidado de las comillas al final de href.
Quítale también la barra inclinada (\) al final de <a>

Cita de: it3r en 26 Julio 2012, 16:18 PM
lo mismo que te respondieron arriba, para no hacerte bolas prueba haciendo esto


echo '<a href="link" onclick="test()">CLICK</a>';


es decir poner primero comillas simples y en el codigo ya podras usar comillas dobles sin problemas, al contrario también sirve.

Saludos.

Cita de: DonVidela en 26 Julio 2012, 16:37 PM
Primero verifica que acepte el envio de html, segundo arregla esto

Reemplaza tu variable $enlaceactivacion por lo que pondré

Código (php) [Seleccionar]

$enlaceactivacion="<a href='http://localhost:8085/WEB_PROPIA/confirmar.php?codigo='.$codigoverificacion.'>CLICK AQUI PARA ACTIVAR CUENTA</a>";



Gracias a los 3. Al final acabe poniendolo asi:



$enlaceactivacion='<a href="http://localhost:8085/WEB_PROPIA/confirmar.php?codigo='.$codigoverificacion.'">Click AQUI para activar la cuenta</a>'; 



Ademas de eso, me faltaba agregar el tipo de contenido en el método setBody:

->setBody($mensaje, 'text/html');


Hay un ejemplo en la documentación

http://swiftmailer.org/docs/messages.html#setting-the-body-content

Saludos!