Nowadays, Email list management became one of the most challenging issues faces by the users. Users usually unable to clean email list in a proper and effective manner. Due to which email management get frustrating segment and also takes a large part of our valuable time.
So, our today’s blog is based on a very common but a very important topic i.e Verify Gmail Address via SMTP.
Why Email verification is needed?
Most of the users faces a problem of fake and unnecessary email’s registration when they provide any registration or contact us features in their websites. The visitors generally use some fake emails with some unnecessary username and send us their data, which is very common but very frustrating for the website owner to manage.
Watch the live demo or download code from the link given below
MailGet – Email Service Provider has introduced a very smart and effective online application to clean and maintain your emails at very low cost.
What users usually do to stop this ?
To get rid of such issues, they usually use some regular expression(regex) validation in their website, but this is not a good solution of this problem because regex only checks the format of input provided by the user and on the basis of their expression they check whether the email is valid or not.
Now, the question arises, What the user will do to manage the emails? Is there any way to validate the email correctly?
The answer is yes, it is possible.
We have brought a simple and very effective solution of this issue.We will validate the Gmail Addresses via SMTP on the basis of responses of various SMTP servers.
These SMTP servers will belong to the domain which we will get from the provided gmail address for registration/contact us segment. Their response will decide whether the provided email is a valid email address or invalid.
So, let’s have a look that how we are going validate the emails.
- Take email from the users and will separate them in user and hosts portion. Hosts portion will tell us about the domain.
- Run MX DNS query to find out the lists of SMTP servers available for the domain.
- Send SMTP request to domain’s each SMTP server to connect.
- Once connect, we will send HELO followed by the sender and then the recipient. The recipient will the users email we want to test.
- The SMTP server will respond with the following code: –
- 250: – Emails is valid.
- 450/451: – Email is greylisted or some minor error occur i.e Email should be valid.
- 550 or other code: – Email is invalid.
Now, on the basis of above-mentioned response code we will decide whether the email is a valid email or invalid.
Tutorial Scripts in detail
Below are the details of the code used in this tutorial with proper explanation.
Step1: – Download SMTP Email validation library file from here.
Step2: – Create a “lib” folder in the root directory and paste “smtp_validateEmail.class.php“, from the downloaded library folder, in it.
Step3: – Download latest jQuery library and save it in “js“folder ,created at root directory, with the name “jquery.js”;
Step4: – Create a PHP file name “index.php” in the root folder and write the following code in it.
Index.php
Index.php get gmail id and find it alive or dead.
<html>
<head>
<title>Verify Gmail Address via SMTP</title>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<script src="js/jquery.js"></script>
</head>
<body>
<?php
//included the smtp validate email class
include_once ('lib/smtp_validateEmail.class.php');
$SMTP_Validator = new SMTP_validateEmail();
?>
<div id="main">
<h1>Verify Gmail Address via SMTP</h1>
<div id="login">
<h2>Validate Your Gmail Address</h2>
<form action="" method="POST">
<input type="text" name="val_check_email" class="email_box" placeholder="Username"/><label><b>@gmail.com</b></label>
<input type="submit" value="Check" id="submit"/>
</form>
</div>
<div id="note">
<?php
if (isset($_POST['val_check_email'])) {
$email = $_POST['val_check_email'];
if ($email != "") {
$email.="@gmail.com";
$results = $SMTP_Validator->validate(array($email));
echo "<p class='result'><b>RESULT : </b></p>";
if ($results[$email]) {
echo "<p><b>Congratulations!!!</b> The email address " . "<span class='success'><strong>" . $email . "</strong></span>" . " exists!</p>";
} else {
echo "<p><b>Sorry!!!</b> The email address " . "<span class='fail'><strong>" . $email . "</strong></span>" . " <strong>doesn't</strong> exists!<br>";
}
}
}
?>
</div>
</div>
<script>
jQuery(document).ready(function() {
jQuery("#submit").click(function() {
var val = jQuery('.email_box').val();
if (val == "") {
alert('Please enter an email.');
}
});
});
</script>
</body>
</html>
Step5: – Create a “CSS” folder with “style.css” file in the root directory and paste the following code in it.
style.css
Includes basic styling of HTML elements.
@import url(http://fonts.googleapis.com/css?family=Raleway);
#main{
width:960px;
margin:50px auto;
font-family:raleway;
}
div#main h1 {
margin-left: -30px;
}
h2{
background-color: #FEFFED;
text-align:center;
border-radius: 10px 10px 0 0;
margin: -10px -40px;
padding: 15px;
}
hr{
border:0;
border-bottom:1px solid #ccc;
margin: 10px -40px;
margin-bottom: 30px;
}
#login{
width:300px;
float: left;
border-radius: 10px;
font-family:raleway;
border: 2px solid #ccc;
padding: 10px 40px 25px;
margin-top: 70px;
}
input[type=text]{
width:69%;
padding: 10px;
margin-top: 8px;
border: 1px solid #ccc;
padding-left: 5px;
font-size: 16px;
font-family:raleway;
}
input[type=submit]{
width: 100%;
background-color:#FFBC00;
color: white;
border: 2px solid #FFCB00;
padding: 10px;
font-size:20px;
cursor:pointer;
border-radius: 5px;
margin-bottom: 15px;
}
#note{
clear: left;
padding-top: 20px;
}
span.success{
color:green;
}
span.fail{
color:red;
}
Now, run the script and enjoy…
Conclusion :
After reading the above post, I am sure you will give a try to the script provided and implement it in your own projects as well. Feel free to visit our website again in the future to get in touch with new coding tricks. You can let us know about your feedback in the space provided below
Are you all done with the email verification part via SMTP?
And wondering how to promote your service to those cleaned & active addresses which you’ve verified with lots of efforts.
If you are thinking the same then we have something great to offer.
MailGet Bolt – email marketing service which will help you send emails in bulk and target clients around the globe.
6 Replies to “Verify Gmail Address via SMTP”
Hello again Neeraj and FormGet / MailGet team!
Im a newbie so i want to know if this intelligent method only operates ( validates our invalidates the mail entered by a x user that inputs [email protected]? I mean if user x inputs [email protected] this wont work?
Thanks!
Hi John,
Thanks for asking and having interest in our blog….
For your information, this application validates email addresses by communicating with the Gmail server so, only applicable for Gmail addresses. Unfortunately, it will not validate the email addresses of yahoo domain.
Regards,
Formget Team
i was so happy to see this your tutorial online as it gives me idea on what i want to work on.
My company uses a business mail account managed using gmail service i.e say [email protected] but we login using gmail service. i dont know if you ve seen this before.
What i want to work on is dat i want to build a customize login page for my firm i.e a login form page that collects the username and password redirects them to their inbox which is still managed by gmail.
This will give them the sense that they are login in using their organisation mail portal.
Pls, i will be glad if you can help me with a head on idea. thanks
Hi ,
tell me more about this error:
Warning: fsockopen(): in****************smtp_validateEmail.class.php on line 154
Warning: fsockopen(): in ******************smtp_validateEmail.class.php on line 154
Fatal error: Maximum execution time of 30 seconds exceeded in *******************smtp_validateEmail.class.php on line 154
this only check the gmail address. but i also want to add yahoo hotmail and others. how can i add this?
how can i check yahoo and hotmail both ?