EmailTypo is a Ruby gem that gives you an easy, tested method that fixes email typos.
EmailTypo is concerned with incorrectly-entered data (email provider names, TLDs), not with evaluating whether a particular domain is valid, or whether a particular email address is legitimate. (That is, it's focused on fixing the part that comes after the "@" in the email address.) It works really well for helping you — and your users — when they accidentally type something in wrong.
NOTE: This is based on https://github.com/charliepark/fat_fingers, but
without polluting the
String class and with easier extension support.
gem install email_typo
Or add the following line to your project's Gemfile:
To fix any typos, just use
EmailTypo.call("email@example.com") #=> "firstname.lastname@example.org"
To add/change the processors, add any object that responds to
EmailTypo.default_processors. The following example adds a processor for
.uol.com.br, a Brazilian email provider:
EmailTypo.default_processors << lambda do |email| email.gsub(/@uol\.com(\..*?)?/, "@uol.com.br") end
For more details about how to contribute, please read https://github.com/fnando/email_typo/blob/main/CONTRIBUTING.md.
The gem is available as open source under the terms of the MIT License. A copy of the license can be found at https://github.com/fnando/email_typo/blob/main/LICENSE.md.
Code of Conduct
Everyone interacting in the email_typo project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.