I recommend Mozilla Thunderbird + Markdown Here add-on.
Mozilla Thunderbird is, of course, an open-source, cross platform e-mail client that is extendable with add-ons (plugins).
When you install the Markdown Here add-on, you will get a new toolbar button labeled "MD Toggle" on your message composition window. (Note: after you install, you may have to right-click the toolbar, select Customize, and manually add the button to your toolbar before you will see it.) You can then type your message in markdown, and click the "MD Toggle" button (or Ctrl-Alt-M) to toggle back and forth between markdown code and rendered output. It works very well.
The advanced options are nice too, as you can alter the CSS rules used in the markdown rendering, if you like.
It also supports GitHub style code syntax highlighting and TeX mathematical formulas. The TeX output is done using a Google API, and the API returns an image.
I have only been using it for a few days, and I like it, but there are a few watchouts:
If you want to use Markdown, you need to hit the "MD Toggle" button before sending, or it won't render the Markdown. I like this feature, as I don't necessarily want it interpreting every e-mail I send as Markdown. If you don't hit the MD Toggle button, the e-mail goes out just like it always did without the add-on.
After you hit the "MD Toggle" button, avoidresist the temptation to make changes to your message while in Markdown rendered mode. If you edit while in this mode, Thunderbird will introduce some extra code in there that will confuse the add-on if you decide to toggle back to source mode. Write your code, toggle to render mode, check that everything looks good, and if you see something that needs to be changed, switch back to source mode and make your changes in Markdown, then render again before sending.
By the way, if you want to use this with your favorite webmail provider, Markdown Here is also available as a plugin for Firefox, Chrome, or Safari.