Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty



{mailto} automates the creation of a mailto: anchor links and optionally encodes them. Encoding emails makes it more difficult for web spiders to lift email addresses off of a site.

Technical Note

Javascript is probably the most thorough form of encoding, although you can use hex encoding too.

Attribute Name Type Required Default Description
address string Yes n/a The e-mail address
text string No n/a The text to display, default is the e-mail address
encode string No none How to encode the e-mail. Can be one of none, hex, javascript or javascript_charcode.
cc string No n/a Email addresses to carbon copy, separate entries by a comma.
bcc string No n/a Email addresses to blind carbon copy, separate entries by a comma
subject string No n/a Email subject
newsgroups string No n/a Newsgroups to post to, separate entries by a comma.
followupto string No n/a Addresses to follow up to, separate entries by a comma.
extra string No n/a Any extra information you want passed to the link, such as style sheet classes

Example 8.23. {mailto} example lines followed by the result

{mailto address=""}
<a href="" ></a>

{mailto address="" text="send me some mail"}
<a href="" >send me some mail</a>

{mailto address="" encode="javascript"}
<script type="text/javascript" language="javascript">
   eval(unescape('%64%6f% ... snipped ...%61%3e%27%29%3b'))

{mailto address="" encode="hex"}
<a href="mailto:%6d%65.. snipped..3%6f%6d">&#x6d;&..snipped...#x6f;&#x6d;</a>

{mailto address="" subject="Hello to you!"}
<a href="" ></a>

{mailto address="" cc=","}
<a href="" ></a>

{mailto address="" extra='class="email"'}
<a href="" class="email"></a>

{mailto address="" encode="javascript_charcode"}
<script type="text/javascript" language="javascript">
    {document.write(String.fromCharCode(60,97, ... snipped ....60,47,97,62))}

See also escape, {textformat} and obfuscating email addresses.