mirror of
https://github.com/mail-in-a-box/mailinabox.git
synced 2024-11-22 02:17:26 +00:00
Merge pull request #105 from jonessen96/master
Fix validate_email not accepting catchalls (empty local part of the address)
This commit is contained in:
commit
84d2023f94
@ -20,8 +20,11 @@ def validate_email(email, strict):
|
|||||||
# these characters are permitted in email address.
|
# these characters are permitted in email address.
|
||||||
ATEXT = r'[\w!#$%&\'\*\+\-/=\?\^`\{\|\}~]' # see 3.2.4
|
ATEXT = r'[\w!#$%&\'\*\+\-/=\?\^`\{\|\}~]' # see 3.2.4
|
||||||
|
|
||||||
DOT_ATOM_TEXT = ATEXT + r'+(?:\.' + ATEXT + r'+)*' # see 3.2.4
|
DOT_ATOM_TEXT = r'(' + ATEXT + r'(?:\.' + ATEXT + r'+)*)' # see 3.2.4
|
||||||
DOT_ATOM_TEXT2 = ATEXT + r'+(?:\.' + ATEXT + r'+)+' # as above, but with a "+" since the host part must be under some TLD
|
if not strict:
|
||||||
|
DOT_ATOM_TEXT += r'?' # allow an empty local part for catchalls
|
||||||
|
|
||||||
|
DOT_ATOM_TEXT2 = ATEXT + r'+(?:\.' + ATEXT + r'+)+' # as above, but with a "+" since the host part must be under some TLD
|
||||||
ADDR_SPEC = '^%s@%s$' % (DOT_ATOM_TEXT, DOT_ATOM_TEXT2) # see 3.4.1
|
ADDR_SPEC = '^%s@%s$' % (DOT_ATOM_TEXT, DOT_ATOM_TEXT2) # see 3.4.1
|
||||||
|
|
||||||
return re.match(ADDR_SPEC, email)
|
return re.match(ADDR_SPEC, email)
|
||||||
@ -212,4 +215,3 @@ if __name__ == "__main__":
|
|||||||
if len(sys.argv) > 1 and sys.argv[1] == "update":
|
if len(sys.argv) > 1 and sys.argv[1] == "update":
|
||||||
from utils import load_environment
|
from utils import load_environment
|
||||||
print(kick(load_environment()))
|
print(kick(load_environment()))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user