diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 8c76de9ca..7101069b3 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -6,6 +6,7 @@ - fixed: Thingy: edit/add field popup doesn't fit all options - fixed: selecting some field types will crash Thingy - fixed: Thingy: "add" and "edit" permission problem + - fixed: EMail field rejects some valid email addresses 7.5.9 - fixed: Collaboration System attachments follow site's max size instead of CS's diff --git a/lib/WebGUI/Form/Email.pm b/lib/WebGUI/Form/Email.pm index 4f99e84f8..689f95695 100644 --- a/lib/WebGUI/Form/Email.pm +++ b/lib/WebGUI/Form/Email.pm @@ -83,7 +83,7 @@ An optional value to process instead of POST input. sub getValueFromPost { my $self = shift; my $value = @_ ? shift : $self->session->form->param($self->get("name")); - if ($value =~ /^([0-9a-zA-Z]([-.+\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/i) { + if ($value =~ /^[0-9a-z,_%+-]+@(?:[0-9a-z-]+\.)+[a-z]{2,9})$/i) { return $value; } return undef;