Mailcheck - Swift
The Swift 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 "[email protected]", Mailcheck will suggest "[email protected]".
Mailcheck will offer up suggestions for top level domains too, and suggest ".com" when a user types in "[email protected]".
Usage
import MailcheckSwift
let result: MailcheckSuggestion? = Mailcheck.suggest("[email protected]")
Result will contain nil if the domain appears to be valid. Otherwise the suggestion will be a MailcheckSuggestion struct that will contain the following fields:
address: String //e.g. "test"
domain: String //e.g. "hotmail.com",
full: String //e.g "[email protected]"
Customize maximum edit distance
You can customize the maximum edit distance. For instance with a threshold of 2:
Mailcheck.threshold = 2
Mailcheck.check("[email protected]")
will return a suggestion of "[email protected]". With a threshold of 1 no suggestion would be returned for this case. The default value is 3.
Checking if an e-mail is valid
Checks to see if an e-mail is valid format while also returning a suggestion
import MailcheckSwift
let result = Mailcheck.check("[email protected]")
Result will be a MailcheckResult struct with the following fields
valid: Bool //true or false
suggestion: MailcheckSuggestion? // e.g. MailcheckSuggestion(address: "test", domain: "hotmail.com", full: "[email protected]")
Checking against additional domains
Supply your own domain lists:
let result: MailcheckResult = Mailcheck.check("[email protected]", domains: ["mydomain.co"], topLevelDomains: ["co"])
Or add to the default list:
let result: MailcheckResult = Mailcheck.check:@"[email protected]" extraDomains:["mydomain.co"] extraTopLevelDomains:["co"]];
Maintainers
- Bryce Hammond, @brycehammond. Author.
License
Licensed under the MIT License. Swift implementation of Mailcheck (http://getmailcheck.org/)
Thanks and References
This project was heavily influenced by the Objective-C implementation of Mailcheck (https://github.com/mailcheck/mailcheck-objectivec)