mailcheck.js
=========
The jQuery plugin that suggests a right domain when your users misspell it in an email address.
What does it do?
----------------
When your user types in "user@hotnail.con", Mailcheck will suggest "user@hotmail.com".
At [Kicksend](http://kicksend.com), we use Mailcheck to help reduce typos in email addresses during sign ups. It has [reduced our sign up confirmation email bounces by 50%](http://blog.kicksend.com/how-we-decreased-sign-up-confirmation-email-b).

See it live in action [here](http://kicksend.com/join).
Installation
------------
- For instant use, download `src/jquery.mailcheck.min.js` into javascripts directory. Use `src/jquery.mailcheck.js` if you want to hack on it, or have your own minimizer.
- For hacking, fork the repo or git clone it.
Usage
-----
First, include jQuery and Mailcheck into the page.
```html
```
Have a text field.
```html
```
Now, attach Mailcheck to the text field. Remember to declare an array of domains you want to check against.
```html
```
Mailcheck takes in two callbacks, `suggested` and `empty`. We recommend you supply both.
`suggested` is called when there's a suggestion. Mailcheck passes in the target element and the suggestion. The suggestion is an object with the following members:
```js
{
address: 'test', // the address; part before the @ sign
domain: 'hotmail.com', // the suggested domain
full: 'test@hotmail.com' // the full suggested email
}
```
`empty` is called when there's no suggestion. Mailcheck just passes in the target element.
You can use the callbacks to display the appropriate visual feedback to the user.
Domains
-------
The Mailcheck jQuery plugin defaults to a list of top email domains if the `domain` option isn't provided. We still recommend supplying your own domains based on the distribution of your users.
The included default domains are: yahoo.com, google.com, hotmail.com, gmail.com, me.com, aol.com, mac.com, live.com, comcast.net, googlemail.com, msn.com, hotmail.co.uk, yahoo.co.uk, facebook.com, verizon.net, sbcglobal.net, att.net, gmx.com, and mail.com.
Customization
-------------
The Mailcheck jQuery plugin wraps Kicksend.mailcheck. The prime candidates for customization are the methods
`Kicksend.mailcheck.findClosestDomain` and `Kicksend.mailcheck.stringDistance`.
Mailcheck currently uses the [sift3](http://siderite.blogspot.com/2007/04/super-fast-and-accurate-string-distance.html) string similarity algorithm by [Siderite](http://siderite.blogspot.com/).
Since Mailcheck runs client side, keep in mind file size, memory usage, and performance.
Tests
-----
Mailcheck is tested with [Jasmine](http://pivotal.github.com/jasmine/). Load `spec/spec_runner.html` in your browser to run the tests.
Contributing
------------
Let's make Mailcheck awesome. We're on the lookout for maintainers and [contributors](https://github.com/Kicksend/mailcheck/contributors).
And do send in those pull requests! To get them accepted, please:
- Test your code. Add test cases to `spec/mailcheckSpec.js`, and run it across browsers (yes, including IE).
- Minify the plugin. [Google's Closure Compiler](http://closure-compiler.appspot.com/home) is a good one.
Upcoming features, bugs and feature requests are managed in Issues.
Who's using Mailcheck?
-----------------------
- [Kicksend](http://kicksend.com/)
- [Flotype](http://flotype.com/)
- [Kippt](http://kippt.com/)
- [Minecraft](http://minecraft.com/)
- [Prispy](http://prispy.com/)
- [SB Nation](http://sbnation.com/)
- [Show Space](http://show-space.com/)
- [The Verge](http://theverge.com/)
- [Uber](http://uber.com/)
Do you use Mailcheck? [Tweet me](http://twitter.com/derrickko) your link.
Related links
-------------
- [Two ways to reduce bounced welcome emails](http://blog.postmarkapp.com/post/19685472721/two-ways-to-reduce-bounced-welcome-emails) by [Postmark](http://postmark.com)
- [MooTools port](https://github.com/DimitarChristoff/mailcheck) by [Dimitar Christoff](https://github.com/DimitarChristoff)
- [WordPress e-Commerce Plugin](http://wordpress.org/extend/plugins/e-commerce-mailcheck/)
- [Mailcheck for Drupal](https://github.com/RiverDonkey/Mailchecker)
Author
-------
Derrick Ko ([@derrickko](http://twitter.com/derrickko))
License
-------
Copyright (c) 2012 [Receivd, Inc.](http://kicksend.com)
Licensed under the MIT License.