Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

flask-MailboxValidator

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flask-MailboxValidator

Email verification module for Flask using MailboxValidator API. It validates if the email is valid, from a free provider, contains high-risk keywords, whether it's a catch-all address and so much more.

  • 1.3.0
  • PyPI
  • Socket score

Maintainers
1

MailboxValidator Flask Python Module

This Flask Python module enables user to easily validate if an email address is valid, a type of disposable email or free email.

This module can be useful in many types of projects, for example

  • to validate an user's email during sign up
  • to clean your mailing list prior to email sending
  • to perform fraud check
  • and so on

Installation

To install this module type the following:

pip install flask_MailboxValidator

Dependencies

An API key is required for this module to function. Go to https://www.mailboxvalidator.com/plans#api to sign up for FREE API plan and you'll be given an API key.

In order to use this module to validate email from form, WTForms and Flask-WTF need to be installed. Also, nose2 need to be installed in order to run the test file.

Functions

SingleValidation (api_key)

Creates a new instance of the MailboxValidator object with the API key.

ValidateEmail (email_address)

Performs email validation on the supplied email address.

Return Fields

Field NameDescription
email_addressThe input email address.
domainThe domain of the email address.
is_freeWhether the email address is from a free email provider like Gmail or Hotmail. Return values: True, False
is_syntaxWhether the email address is syntactically correct. Return values: True, False
is_domainWhether the email address has a valid MX record in its DNS entries. Return values: True, False, -   (- means not applicable)
is_smtpWhether the mail servers specified in the MX records are responding to connections. Return values: True, False, -   (- means not applicable)
is_verifiedWhether the mail server confirms that the email address actually exist. Return values: True, False, -   (- means not applicable)
is_server_downWhether the mail server is currently down or unresponsive. Return values: True, False, -   (- means not applicable)
is_greylistedWhether the mail server employs greylisting where an email has to be sent a second time at a later time. Return values: True, False, -   (- means not applicable)
is_disposableWhether the email address is a temporary one from a disposable email provider. Return values: True, False, -   (- means not applicable)
is_suppressedWhether the email address is in our blacklist. Return values: True, False, -   (- means not applicable)
is_roleWhether the email address is a role-based email address like admin@example.net or webmaster@example.net. Return values: True, False, -   (- means not applicable)
is_high_riskWhether the email address contains high risk keywords. Return values: True, False, -   (- means not applicable)
is_catchallWhether the email address is a catch-all address. Return values: True, False, Unknown, -   (- means not applicable)
mailboxvalidator_scoreEmail address reputation score. Score > 0.70 means good; score > 0.40 means fair; score <= 0.40 means poor.
time_takenThe time taken to get the results in seconds.
statusWhether our system think the email address is valid based on all the previous fields. Return values: True, False
credits_availableThe number of credits left to perform validations.
error_codeThe error code if there is any error. See error table in the below section.
error_messageThe error message if there is any error. See error table in the below section.

DisposableEmail (email_address)

Check if the supplied email address is from a disposable email provider.

Return Fields

Field NameDescription
email_addressThe input email address.
is_disposableWhether the email address is a temporary one from a disposable email provider. Return values: True, False
credits_availableThe number of credits left to perform validations.
error_codeThe error code if there is any error. See error table in the below section.
error_messageThe error message if there is any error. See error table in the below section.

FreeEmail (email_address)

Check if the supplied email address is from a free email provider.

Return Fields

Field NameDescription
email_addressThe input email address.
is_freeWhether the email address is from a free email provider like Gmail or Hotmail. Return values: True, False
credits_availableThe number of credits left to perform validations.
error_codeThe error code if there is any error. See error table in the below section.
error_messageThe error message if there is any error. See error table below.

Usage for validate email from form

Note: WTForms and Flask-WTF must be installed before using this features.

This Flask Python module had three different validator for different uses: EmailValidation for validating email address by all parameters, DisposableEmailValidation for validating disposable email address, and FreeEmailValidation for validating free email address.

  1. Import the validator class from the package. For example: from flask_MailboxValidator.SingleValidation import EmailValidation
  2. Call the validator in validator array along with your API key. For example: email = StringField('Email:', validators=[validators.InputRequired(), EmailValidation(apikey='Your_API_Key')])

Sample Codes

Validate email

import flask_MailboxValidator
from flask import Flask
from flask import jsonify

app = Flask(__name__)

mbv = flask_MailboxValidator.SingleValidation('PASTE_API_KEY_HERE')
results = mbv.ValidateEmail('example@example.com')

@app.route('/')
def display_result():
	if results is None:
		return("Error connecting to API.\n")
	elif 'error' not in results:
		return (jsonify(results))
	else:
		return('error_message = ' + results['error']['error_message'] + "\n")

Check if an email is from a disposable email provider

import flask_MailboxValidator
from flask import Flask
from flask import jsonify

app = Flask(__name__)

mbv = flask_MailboxValidator.SingleValidation('PASTE_API_KEY_HERE')
results = mbv.DisposableEmail('example@example.com')

@app.route('/')
def display_result():
	if results is None:
		return("Error connecting to API.\n")
	elif 'error' not in results:
		return (jsonify(results))
	else:
		return('error_message = ' + results['error']['error_message'] + "\n")

Check if an email is from a free email provider

import flask_MailboxValidator
from flask import Flask
from flask import jsonify

app = Flask(__name__)

mbv = flask_MailboxValidator.SingleValidation('PASTE_API_KEY_HERE')
results = mbv.FreeEmail('example@example.com')

@app.route('/')
def display_result():
	if results is None:
		return("Error connecting to API.\n")
	elif 'error' not in results:
		return (jsonify(results))
	else:
		return('error_message = ' + results['error']['error_message'] + "\n")

Test

To run the test file, you will first need to replace the 'PASTE_API_KEY_HERE' with your API key in the test file(Located at test directory). After that, run this command in terminal: python setup.py test

Errors

error_codeerror_message
10000Missing parameter.
10001API key not found.
10002API key disabled.
10003API key expired.
10004Insufficient credits.
10005Unknown error.

Copyright (C) 2018-2023 by MailboxValidator.com, support@mailboxvalidator.com

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc