2011-01-17 9 views
14

Necesito enviar una URL de mi sitio en el cuerpo para que el destinatario del correo pueda hacer clic en eso para unirse a mi sitio.Cómo pasar una URL en el cuerpo de mailto

Sin embargo actualmente de correo del cliente hace que el correo de la siguiente manera:

Enlace va aquí http://www.example.com/foo.php?this=a

La URL se trunca en el símbolo &, por tanto, todo el proceso de no unión. ¿Cómo puedo pasar la URL como http://www.example.com/foo.php?this=a&join=abc&user454 en mailto body?

Mi código HTML actual es la siguiente:

<a href="mailto:[email protected]?body=Link goes here http://www.example.com/foo.php?this=a&amp;really=long&amp;url=with&amp;lots=and&amp;lots=and&amp;lots=of&prameters=on_it 
">Link text goes here</a> 

Respuesta

23

Usted necesita para codificar la URL. Esto URL Decoder/Encoder tool hará el truco. La siguiente seems to work:

<a href="mailto:[email protected]?body=Link goes here http%3A%2F%2Fwww.example.com%2Ffoo.php%3Fthis%3Da%26join%3Dabc%26user454 
">Link text goes here</a> 
+0

resolverá cualquier problema relacionado con la URL, así que lo marqué como respuesta correcta. –

10

Me URL codificar el enlace que está utilizando, por lo que sería:

<a href="mailto:[email protected]?body=Link%20goes%20here%20http%3A%2F%2Fwww.example.com%2Ffoo.php%3Fthis%3Da%26join%3Dabc%26user454">Link text goes here</a> 
+0

-1, que no funciona !! – Sarfraz

+0

Acabo de probarlo. ¡funciona! simplemente usó el primer enlace que dio, no el segundo. – tekknolagi

+0

¡vote de vuelta! – tekknolagi

3

Puede escribir javascript: alert (escape ("SU URL")); en el cuadro de dirección de un navegador y obtener la URL segura para un enlace de mailto. Por ejemplo, escriba lo siguiente dentro del cuadro de dirección de un navegador y presione Entrar.

javascript:alert(escape("http://www.example.com/foo.php?this=a"));

Usted recibirá un cuadro de mensaje que mostrará.

http%3A//www.example.com/foo.php%3Fthis%3Da

Los navegadores basados ​​en Opera y Mozilla le permiten copiar el contenido mostrado en el cuadro de alerta.

Se podría mejorarlo escribiendo

javascript:alert("mailto:[email protected]?subject=My Subject&body="+escape("http://www.example.com/foo.php?this=a"));

de manera que se obtiene el asunto y el cuerpo incluido en el enlace. Otras mejoras podrían ser el uso de un nombre y un salto de línea usando% 0a.

javascript:alert("mailto:Just Me <[email protected]>?subject=My Subject&body=This is the link:%250a"+escape("http://www.example.com/foo.php?this=a"));
+0

gracias por la función de escape! Esto es lo que estaba buscando – yngrdyn

1

como veo que está usando PHP, puede utilizar "urlencode) (" función

<a href="mailto:[email protected]?body=Link goes here <?php echo urlencode('http://www.example.com/foo.php?this=a&amp;really=long&amp;url=with&amp;lots=and&amp;lots=and&amp;lots=of&prameters=on_it 
');?>">Link text goes here</a> 
Cuestiones relacionadas