OdooWiki OCA HUB

Email Format Checker

partner_email_check folder_open OCA/partner-contact open_in_new
Tools License: AGPL-3

This module validates and normalizes the field email in the model res.partner.

As part of the normalization, email addresses are converted to lowercase.

Optionally, multiple partners can not be allowed to have the same address. This will not work with multiple comma-separated email addresses in the field, although validation and normalization are still supported in such cases.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds company-level options to validate, normalize and de-duplicate email addresses on contacts. When enabled, Odoo rejects badly formatted or undeliverable emails and blocks duplicate addresses.

This module adds an "Email validation" section to the General Settings screen (Settings > General Settings), right after the companies block. Three company-specific checkboxes control how contact emails are handled:

  • Check syntax of email addresses: rejects addresses that are not correctly formatted. This option is on by default.
  • Filter duplicate partner email addresses: prevents two contacts from sharing the same email address.
  • Check deliverability of email addresses: rejects addresses whose domain cannot receive mail. Turning this on automatically turns on the syntax check.

When a contact's email is saved (created or edited), it is normalized: surrounding spaces are removed, the address is validated, and it is converted to lowercase. If the email field contains several comma-separated addresses, each one is validated and normalized separately.

If duplicate filtering is active, saving an email already used by another contact raises an error, and a contact with multiple comma-separated addresses is refused. When a contact is duplicated, the email is cleared on the copy so the duplicate rule is not broken.

These rules apply to the res.partner model, so they affect contacts, companies and any record that stores a partner email. The settings are stored per company on res.company and exposed through res.config.settings.

Depends on

base_setup
Models and fields (3)
  • res.company · extends an existing modelpartner_email_check_syntax (Check syntax of email addresses), partner_email_check_filter_duplicates (Filter duplicate partner email addresses), partner_email_check_check_deliverability (Check deliverability of email addresses)
  • res.partner · extends an existing model
  • res.config.settings · extends an existing modelpartner_email_check_syntax, partner_email_check_filter_duplicates, partner_email_check_check_deliverability

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/partner-contact.

terminal Installation and usage

OCA documentation · Odoo 19.0

Install python package email-validator: sudo pip install email-validator.

To not allow multiple partners to have the same email address, use the "Filter duplicate email addresses"/partner_email_check_filter_duplicates setting.

To validate that email addresses are deliverable (that the hostname exists), use the "Check deliverability of email addresses"/partner_email_check_check_deliverability setting.

This module integrate automatically in all of the view res.partner

No verified information in OCA: Installation.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.