Reduce misspelled email addresses in your iOS app.
Objective-C Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Mailcheck
MailcheckDemo
Tests
.gitignore
LICENSE
Mailcheck-ObjectiveC.podspec
README.md

README.md

Mailcheck - Objective-C

The Objective-C library that suggests a right domain when your users misspell it in an email address. See the original at https://github.com/mailcheck/mailcheck.

When your user types in "user@hotnail.con", Mailcheck will suggest "user@hotmail.com".

Mailcheck will offer up suggestions for top level domains too, and suggest ".com" when a user types in "user@hotmail.cmo".

mailcheck-objectivec is part of the Mailcheck family, and we're always on the lookout for more ports and adaptions. Get in touch!

Usage

Copy mailcheck.h and mailcheck.m from the Mailcheck folder to your project.

#import "Mailcheck.h"
NSDictionary *result = [Mailcheck suggest:@"test@hotnail.com"]

Result will contain nil if the domain appears to be valid. Otherwise the suggestion will be a dictionary like this:

{@"address": @"test",
 @"domain":  @"hotmail.com",
 @"full":    @"test@hotmail.com"}

New in 0.3

Customize the maximum edit distance. For instance with a threshold of 2:

[Mailcheck setThreshold:2]
[Mailcheck check:@"dkasper@gmailll.com"]

will return a suggestion of "dkasper@gmail.com". With a threshold of 1 no suggestion would be returned for this case. The default value is 3.

New in 0.2

Now includes a check if the email is valid thanks to https://github.com/NZN/NSString-Email

#import "Mailcheck.h"
NSDictionary *result = [Mailcheck check:@"test@hotnail.com"]

Result will contain keys for "valid" and "suggestion"

{@"valid": @(YES),
 @"suggestion": {@"address": @"test",
                 @"domain":  @"hotmail.com",
                 @"full":    @"test@hotmail.com"}}

Supply your own domain lists:

NSDictionary *result = [Mailcheck check:@"test@mydomain.co" domains:@[@"mydomain.co"] topLevelDomains:@[@"co"]];

Or add to the default list:

NSDictionary *result = [Mailcheck check:@"test@mydomain.co" extraDomains:@[@"mydomain.co"] extraTopLevelDomains:@[@"co"]];

Check the MailcheckDemo or the GHUnit tests in TestMailcheck.m for more usage examples. You can run the tests by loading the demo project and selecting the Tests scheme.

Maintainers

License

Licensed under the MIT License.