Foros del Web » Programando para Internet » PHP »

Enviar un hipervinculo con PHPMailer

Estas en el tema de Enviar un hipervinculo con PHPMailer en el foro de PHP en Foros del Web. Hola foreros Vengo solicitando ayuda con lo siguiente. Estoy enviando unos correos con la clase PHPMailer, pero necesito que en el cuerpo de esos correos ...
  #1 (permalink)  
Antiguo 03/01/2012, 14:03
Avatar de afrodriguez70  
Fecha de Ingreso: octubre-2011
Ubicación: Tulua-Colombia
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 2
Enviar un hipervinculo con PHPMailer

Hola foreros
Vengo solicitando ayuda con lo siguiente.

Estoy enviando unos correos con la clase PHPMailer, pero necesito que en el cuerpo de esos correos vaya un link o hipervinculo a una pagina.

Trate de asignarle el hipervinculo a una variable asi:
Código PHP:
$link="<a href=http:/registro/index.php>Esto es una prueba de hipervinculo.</a>"
y trate de mandar la variable en BODY del mensaje pero no funciono.

Código PHP:
$body  "Se acaba de dar solución al requerimiento registrado en la fecha ".$fecha." a las ".$hora;//Esto es el mensaje en si
    
$body .="\nPara mayor informacion siga el siguiente hipervinculo ".<<AQUI DEBERIA ESTER EL HIPERVINCULO>>.""
Pero no se como hacer eso , por favor ayudenme.
Muchas Gracias
__________________
Si el hombre no ha descubierto nada por lo que morir, no es digno de vivir. <<Martin Luther King>>
  #2 (permalink)  
Antiguo 03/01/2012, 14:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Enviar un hipervinculo con PHPMailer

¿Y por qué no funcionó?

Imprimiste el mensaje antes de enviar el correo ¿y no sale el enlace o si?

Recuerda que los clientes de correo tienden a bloquear enlaces externos e inválidos, y bueno para empezar tu enlace no está correctamente formado como dicta el HTML.

Sería conveniente que nos digas mas información porque a primera vista no es ningún problema de programación.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/01/2012, 14:13
Avatar de afrodriguez70  
Fecha de Ingreso: octubre-2011
Ubicación: Tulua-Colombia
Mensajes: 44
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: Enviar un hipervinculo con PHPMailer

Encuanto al imprimiste el mensaje no te entiendo.

Primero imprimi $link, y funcionaba correctamente.
Estoy probando el mensaje a mi cuenta con outlook y me llega asi:

Se acaba de dar solución al requerimiento registrado en la fecha 2012-01-03 a las 14:46:41 Para mayor informacion siga el siguiente vinculo <a href=http:/registro/index.php>HELP DESK</a>

Y no quiero que salgan las etiquetas hay, solo el enlace jeje
__________________
Si el hombre no ha descubierto nada por lo que morir, no es digno de vivir. <<Martin Luther King>>
  #4 (permalink)  
Antiguo 03/01/2012, 14:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Enviar un hipervinculo con PHPMailer

Entonces es como te digo, eso lo bloquea tu cliente de correo, no hay programación alguna que evite dicho comportamiento.

Eso si, debes enviar dicho correo como HTML, pero supongo que eso ya lo estás haciendo.

De cualquier forma necesitas configurar tu cliente de correo para que acepte HTML.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 03/01/2012, 18:54
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Enviar un hipervinculo con PHPMailer

phpmailer tiene una opción para enviar texto alternativo como text/plain para el caso de que el cliente de correo esté configurado para recibir texto plano solamente


Código PHP:
Ver original
  1. <?php
  2. require_once '../class.phpmailer.php';
  3.  
  4. $mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
  5.  
  6. try {
  7.   $mail->AddReplyTo('[email protected]', 'First Last');
  8.   $mail->AddAddress('[email protected]', 'John Doe');
  9.   $mail->SetFrom('[email protected]', 'First Last');
  10.   $mail->AddReplyTo('[email protected]', 'First Last');
  11.   $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
  12.   $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
  13.   $mail->MsgHTML(file_get_contents('contents.html'));
  14.   $mail->AddAttachment('images/phpmailer.gif');      // attachment
  15.   $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
  16.   $mail->Send();
  17.   echo "Message Sent OK</p>\n";
  18. } catch (phpmailerException $e) {
  19.   echo $e->errorMessage(); //Pretty error messages from PHPMailer
  20. } catch (Exception $e) {
  21.   echo $e->getMessage(); //Boring error messages from anything else!
  22. }
  23. ?>


si te fijas aparte de enviar el contenido de un html utiliza AltBody para enviar texto plano


Código PHP:
Ver original
  1. $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
  2.   $mail->MsgHTML(file_get_contents('contents.html'));
  3.  
  4. Saludos

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: hipervinculo, phpmailer, registro, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:05.