Availability |
Odoo Online
Odoo.sh
On Premise
|
Lines of code | 760 |
Technical Name |
kw_email_validation |
License | LGPL-3 |
Website | https://github.com/kitworks-systems/email-validation |
Versions |
Availability |
Odoo Online
Odoo.sh
On Premise
|
Lines of code | 760 |
Technical Name |
kw_email_validation |
License | LGPL-3 |
Website | https://github.com/kitworks-systems/email-validation |
Versions |
Base Email Validation
This module provides core functionality for email address validation in Odoo. It allows you to verify email addresses for validity, reducing bounce rates and improving the quality of your contact data.
Key features include:
- Email Syntax Validation: Basic validation of email format
- Domain Validation: Verify that email domains exist
- Multiple Validation Services: Support for various email validation APIs
- Validation Status Tracking: Track validation status of email addresses
- Automatic Validation: Schedule automatic validation of email addresses
- Manual Validation: Trigger validation on demand
Supported Validation Services
- NeverBounce
- QuickEmailVerification
- MillionVerifier
- Clearout
- MailerCheck
- Mailgun
- SendPulse
- ZeroBounce
Developer Guide
Configuration
Configure a Validation Service:
validator = env['kw.email.validator'].search([('name', '=', 'neverbounce')], limit=1) validator.write({ 'api_key': 'your_api_key_here', 'active': True, })
Validating Email Addresses
Manual Validation:
# Create validation record validation = env['kw.email.validation'].create({ 'email': 'test@example.com', }) # Validate email validation.validate_email()
Using with Mixin:
from odoo import models, fields class MyModel(models.Model): _name = 'my.model' _inherit = ['kw.email.validation.mixin'] email = fields.Char(string='Email') # Configure which field contains the email to validate _kw_email_validation_field = 'email'
Features Details
- Validation Status:
- Pending: Email is waiting for validation
- Valid: Email is valid and can receive messages
- Invalid: Email is invalid or cannot receive messages
- Validation Rules:
- Configure which validators to use for specific domains
- Set validation priority using sequence field
- Rules determine the order of validator application
- Automatic Validation:
- Scheduled task for validating pending emails
- Automatic validation of new emails when added
Validation Rules Configuration
Validation rules are a key component of the email validation system. They determine which validators are applied to which email addresses and in what order. Properly configured rules ensure optimal validation accuracy while minimizing API costs and validation time.
Rule Components
- Name: Name of the rule for identification
- Validator: The specific validation service to use
- Sequence: Determines the order of rule application (lower numbers execute first)
- Active: Enable or disable specific rules
Rule Application Logic
When an email address is validated, the system follows these steps:
- Sort all active rules by sequence (ascending)
- For each rule, apply the validator specified in the rule to the email address
- If the validator returns a negative result (invalid email), the process stops
- If all validators return a positive result, the email is considered valid
Configuration Examples
Example: Cost Optimization Strategy
# First try regexp validation - Sequence 10 Name: Regexp Validation Validator: regexp Sequence: 10 # Then try DNS validation - Sequence 20 Name: DNS Validation Validator: DNS Sequence: 20 # Then try SMTP validation - Sequence 30 Name: SMTP Validation Validator: SMTP Sequence: 30 # Finally use paid API - Sequence 40 Name: API Validation Validator: ZeroBounce Sequence: 40
Best Practices
- Start with less expensive validators (regexp, SMTP, DNS) before using paid API services
- Use lower sequence values for faster and cheaper validators
- Use higher sequence values for more expensive or slower validators
- Regularly review validation results to optimize rule configurations
- Configure rules in order from fastest to most accurate validators
Bug Tracker
Bugs are tracked on https://kitworks.systems/requests. In case of trouble, please check there if your issue has already been reported.
Maintainer
KitWorks Systems. Our web site: https://kitworks.systems
We can provide you further Odoo Support, Odoo implementation, Odoo customization, Odoo 3rd Party development and integration software, consulting services. Our main goal is to provide the best quality product for you.
For any questions contact us.
Please log in to comment on this module