Treehouse: Grow your CSS skills. Land your dream job.

Last updated on:

Mailto Links

Basic

Open default mail program, create new message with the TO field already filled out.

<a href="mailto:someone@yoursite.com">Email Us</a>  

Adding a subject

Open default mail program, create new message with the TO and SUBJECT field already filled out. Essentially we are adding the parameter subject to the href value.

Spaces in the subject will probably work OK, but to be super-extra sure, you can replace spaces with "%20".

<a href="mailto:someone@yoursite.com?subject=Mail from Our Site">Email Us</a>  

Adding CC and BCC

Open default mail program, create new message with the TO, SUBJECT, CC, and BCC field already filled out. Essentially we are adding the parameters cc and bcc to the href value.

Also note that you add multiple values to CC and BCC by comma separating them.

<a href="mailto:someone@yoursite.com?cc=someoneelse@theirsite.com, another@thatsite.com, me@mysite.com&bcc=lastperson@theirsite.com&subject=Big%20News">Email Us</a>

Adding Body Text

Just add the body parameter into the ever-growing list of parameters we are using.

<a href="mailto:someone@yoursite.com?cc=someoneelse@theirsite.com, another@thatsite.com, me@mysite.com&bcc=lastperson@theirsite.com&subject=Big%20News&body=Body-goes-here">Email Us</a>

Comments

  1. JMLeon
    Permalink to comment#

    Sadly, mailto’s are a call-for-spammers widely, so this is a curiosity more than something to use actually.

  2. Jessi Hance
    Permalink to comment#

    @JMLeon: Not if you use Hivelogic’s Enkoder:

    http://hivelogic.com/enkoder

    I just used this today for a client, as a stop-gap till he can set up a contact form.

  3. OldGuy
    Permalink to comment#

    Although people have been steadfast in their belief that the sky would fall, the world would end, and that their email boxes would overflow with spam if they were crazy enough to use mailto, I have yet to see the problem materialize. I have a number of smallish sites that have been up for years using mailto without ever having a problem. I do use contact forms on larger sites but only because I think it looks more professional.

    Excellent post Chris! Very handy stuff.

  4. Kartlos Tchavelachvili
    Permalink to comment#

    I think you can use also the Paragraphs in the body message. Syntax = %0A%0A

    MailTo with multiline message in Body

  5. Kartlos Tchavelachvili
    Permalink to comment#

    a href=”mailto:someone@yoursite.com?body=The message’s first paragraph.%0A%0ASecond paragraph.%0A%0AThird Paragraph.”

  6. Brian Lang
    Permalink to comment#

    Caution: This may NOT work with all mail clients. I’ve had problems getting this to work with some mail clients in the past.

  7. chaitanya T

    Thank you for the simple and effective approach for a contact option. Its nice.

  8. Zeyad
    Permalink to comment#

    thanks

  9. Don

    Thank you

  10. Pete
    Permalink to comment#

    Thanks for reminding me about something I learnt originally in the 90s!

  11. kunjan raychura
    Permalink to comment#

    Style links depending on file format

    /* external links */
    a[href^=”http://”]{
    padding-right: 20px;
    background: url(external.gif) no-repeat center right;
    }

    /* emails */
    a[href^="mailto:"]{
        padding-right: 20px;
        background: url(email.png) no-repeat center right;
    }
    
    /* pdfs */
    a[href$=".pdf"]{
        padding-right: 20px;
        background: url(pdf.png) no-repeat center right;
    }
    
  12. premkumar
    Permalink to comment#

    not worked in safari browser…

  13. pankaj
    Permalink to comment#

    I am using this code in ipad app and it’s working perfectly but the problem is that all work is done out side the app means after mail, app is closed.

  14. BSK
    Permalink to comment#

    Can we attache any attachment with this. Please let me know.

  15. kevin
    Permalink to comment#

    The end user must have a default mail prgm set up to work in windows.

  16. Neil Monroe

    @premkumar: It doesn’t seem to work in Safari or Chrome (probably WebKit-based browsers, in general) if there are actual spaces in the querystring parameters to the mailto: link.

    If you replace the spaces with %20, then you should be back in business.

  17. Ramesh

    Hello,

    I want a source code, when a visitor wants to click on “Email Offer” then a pop up is open with option of email clients, like – outlook, gmail and yahoo. When he/she select email client then it opens with my email id, Subject and offer. Or he/she wants their default email client in future when they visit again, a check box is also display in pop up.

  18. Nabfars

    Hello
    Is there any way to align the text in mailto body to the right ?
    I am adding Arabic text in mailto body, Arabic text starts from right to left
    ill be great full for any help and suggestion
    Thanks

Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

```
<script>
  function example() {
    element.innerHTML = "<div>code</div>";
  }
</script>
```