2011-01-17 1 views
14

Je dois envoyer une URL de mon site dans le corps afin que le destinataire du mail puisse cliquer dessus pour rejoindre mon site.Comment passer une URL dans le corps de mailto

Cependant client rend mails actuellement la poste comme celui-ci:

lien est ici http://www.example.com/foo.php?this=a

L'URL est tronquée sur le symbole &, donc tout le processus de l'adhésion a échoué. Comment puis-je passer l'URL comme http://www.example.com/foo.php?this=a&join=abc&user454 dans mailto body?

Mon HTML actuelle est la suivante:

<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> 

Répondre

23

Vous devez encoder l'URL. Ce URL Decoder/Encoder tool fera l'affaire. Ce qui suit 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

il va résoudre tout problème lié à l'URL, donc je l'ai marqué comme la bonne réponse. –

10

J'URL encode le lien que vous utilisez, il serait:

<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, qui ne fonctionne pas !! – Sarfraz

+0

je viens de l'essayer. Ça marche! juste à la place utilisé le premier lien qu'il a donné, pas la seconde. – tekknolagi

+0

veuillez voter pour sauvegarder! – tekknolagi

3

Vous pouvez taper javascript: alert (échappement ("VOTRE URL")); dans la boîte d'adresse d'un navigateur et obtenir l'URL sécurisée pour un lien mailto. Par exemple, tapez ce qui suit dans la zone d'adresse d'un navigateur et appuyez sur Entrée.

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

Vous obtiendrez une boîte de message qui s'affichera. Les navigateurs Opera et Mozilla vous permettent de copier le contenu affiché à partir de la boîte d'alerte.

Vous pouvez l'améliorer en tapant

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

afin que vous obtenez le sujet et le corps inclus dans le lien. D'autres améliorations pourraient être l'utilisation d'un nom et d'un saut de ligne en utilisant% 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

merci pour la fonction d'échappement! C'est ce que je cherchais – yngrdyn

1

que je vois que vous utilisez php, vous pouvez utiliser "urlencode()" fonction

<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> 
Questions connexes