File: mail_validation.py

package info (click to toggle)
odoo 18.0.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 878,716 kB
  • sloc: javascript: 927,937; python: 685,670; xml: 388,524; sh: 1,033; sql: 415; makefile: 26
file content (27 lines) | stat: -rw-r--r-- 862 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import logging

from odoo import tools

_logger = logging.getLogger(__name__)

_flanker_lib_warning = False

try:
    from flanker.addresslib import address
    # Avoid warning each time a mx server is not reachable by flanker
    logging.getLogger("flanker.addresslib.validate").setLevel(logging.ERROR)

    def mail_validate(email):
        return bool(address.validate_address(email))

except ImportError:

    def mail_validate(email):
        global _flanker_lib_warning
        if not _flanker_lib_warning:
            _flanker_lib_warning = True
            _logger.info("The (optional) `flanker` Python module is not installed,"
                         "so email validation will fallback to email_normalize.")
        return tools.email_normalize(email)