Keep Reading
If you enjoyed the post you just read, we have more to say!
Email is one of the oldest methods for transmitting messages through the internet, yet the use of emails remains prevalent in this era of nifty messaging applications. Email acts as the gateway to all digital engagement with brands, and almost everyone has an email account. This makes it one of the most effective mediums for engaging, acquiring, converting, and retaining customers. The relevance of emails for marketing purposes continues to increase.
Email validation ensures that the email entered by the user is in line with email syntaxes. It can be used to make sure that the user has not made mistakes like typos that would invalidate the email. It determines whether a genuine email inbox is present for the validated email ID.
Almost half of all emails sent end up in the junk folder. Most of the time, email providers determine what emails end up in the junk folder. When you try to send mail to an invalid address, it bounces back to the server from which the mail originated. This becomes a black mark on the sender of the email. The higher the bounce rate, the lower the reputation of the sender.
ISPs and email service providers keep track of all such instances experienced by them. This data is then used to decide which emails are sent to the inbox and which emails will end up in junk. Weeding out invalid emails from a list decreases the bounce rate. These result in brownie points for the sender. Sending emails only to valid email IDs ensures that more recipients receive the emails in their inbox.
Every email ID has three components: @ symbol, a prefix, and domain. The prefix appears to the left of the @ symbol, and the domain name is to the right of the symbol. Having an @ symbol is a must for an email ID to be valid. In addition to this, there are prescribed formats for prefixes and domains in an email ID.
Prefix format:
Similarly, the domain also has a specified format:
Ruby on Rails, a language used for a variety of programming needs such as building notification systems, can be used for email validation using one of three methods:
Regex or regular expression can be used to develop patterns to identify and match texts. You can create a regex to check whether an entered email is in the format of email IDs.
A simple regex to check whether the entered text contains the @ symbol:
^(.+)@(.+)$
And a regex that checks for the complete requirement for email IDs is:
^[\\w!#$%&'*+/=?`{|}~^-]+(?:\\.[\\w!#$%&'*+/
=?`{|}~^-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$
This can be used as part of a method to validate email IDs:
EMAIL_REGEX =^[\\w!#$%&'*+/=?`{|}~^-]+(?:\\.[\\w!#$%&'*+/=?`{|}~^-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$
def valid_email? email
email =~EMAIL_REGEX
end
puts valid_email?("john.doe@domain.com") ? "Valid Email" ∶ "Invalid Email"
The output of the code given above will be Valid Email. If an email id without the proper syntax was given as the input, the result would have been Invalid Email.
In most cases, input fields of a form are injected into the ActiveRecord model. Active validation helpers are built-in with Ruby on Rails. They can be used to validate the states of objects before they are used in the program. You can define the rules of validation using the ActiveRecord::Validations API. Consider a form that has email as the only input:
class UserData < ActiveRecord
validates_presence_of ∶email
validates_format_of ∶email, with: EMAIL_REGEX
end
The first validation method, validates_presence_of, checks whether the email field is empty. The second method, validates_format_of, compares the email with the particular regular expression. The advantage here is that the same regular expression can be used to validate emails in different classes and methods.
Ruby Gems package manager has many gems that are suitable for validating emails. It’s easy to use and can be used in any program. One such gem is the email_validator developed by K&R software. The name of the package must be included in the Gemfile to use it. Add the following snippets to the Gemfile and run bundler:
gem 'email_validator'
bundle install
The following code snippet can be used to validate email. By default, the email_validator package only checks if there is an @ symbol in the text and if there are characters before and after the symbol. You can provide additional characteristics to check if required. When used in a method, it returns true if the email is valid and false if the email is invalid. It can be used in the following manner:
class User < ActiveRecord::Base
validates ∶email_attributes,email: true
end
Using such gems makes the life of developers easier. More such gems can be found at the RubyGems website.
Validating email IDs before sending emails is essential to maintain the reputation of the mail server. This helps senders reach the inboxes of more customers or prospects. Ruby on Rails can be used to easily validate emails in the three ways outlined in this post.