MailboxValidator has a free API which you can use. Just need to sign up for the free API plan at http://www.mailboxvalidator.com/plans#api then the integration part is pretty easy since they also have a C# class http://www.mailboxvalidator.com/dotnet for you to wrap the API calls.
The C# class codes are in https://github.com/MailboxValidator/mailboxvalidator-csharp
To install MailboxValidator SingleValidation class via NuGet (https://www.nuget.org/packages/MailboxValidator.SingleValidation/), run the following command in the Package Manager Console:
Install-Package MailboxValidator.SingleValidation
Then you can just use the class like below:
using System;
using System.Windows.Forms;
using MailboxValidator;
namespace TestMailboxValidatorCSharp
{
public class TestMailboxValidatorCSharp
{
static void Main(string[] args)
{
var mbv = new SingleValidation("PASTE_YOUR_API_KEY_HERE");
String results = "";
try
{
MBVResult rec = mbv.ValidateEmail("example@example.com");
if (rec.ErrorCode == "")
{
results += "email_address: " + rec.EmailAddress + "\n";
results += "domain: " + rec.Domain + "\n";
results += "is_free: " + rec.IsFree + "\n";
results += "is_syntax: " + rec.IsSyntax + "\n";
results += "is_domain: " + rec.IsDomain + "\n";
results += "is_smtp: " + rec.IsSMTP + "\n";
results += "is_verified: " + rec.IsVerified + "\n";
results += "is_server_down: " + rec.IsServerDown + "\n";
results += "is_greylisted: " + rec.IsGreylisted + "\n";
results += "is_disposable: " + rec.IsDisposable + "\n";
results += "is_suppressed: " + rec.IsSuppressed + "\n";
results += "is_role: " + rec.IsRole + "\n";
results += "is_high_risk: " + rec.IsHighRisk + "\n";
results += "is_catchall: " + rec.IsCatchall + "\n";
results += "mailboxvalidator_score: " + rec.MailboxValidatorScore + "\n";
results += "time_taken: " + rec.TimeTaken + "\n";
results += "status: " + rec.Status + "\n";
results += "credits_available: " + rec.CreditsAvailable + "\n";
}
else
{
results += "error_code: " + rec.ErrorCode + "\n";
results += "error_message: " + rec.ErrorMessage + "\n";
}
results += "version: " + rec.Version + "\n";
MessageBox.Show(results);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\n" + ex.StackTrace);
}
}
}
}