Bug 28870: Use Email::Address to validate email addresses
authorTomas Cohen Arazi <tomascohen@theke.io>
Fri, 20 Aug 2021 21:23:30 +0000 (18:23 -0300)
committerKyle M Hall <kyle@bywatersolutions.com>
Mon, 15 Nov 2021 12:21:49 +0000 (07:21 -0500)
commit5d612707f017899f8b2152985a4fafdadbd2159a
tree2e6dfd8d9616adf2f49524d9fa43046a6596079d
parente6ff06d263f5728c400dfb3de8f9704f06499a4c
Bug 28870: Use Email::Address to validate email addresses

This patch adds a new dependency, Email::Address. It is used in
Koha::Email to replace the current use of Email::Valid, which proved to
be problematic when it comes to UTF-8 characters.

Email::Address provides suitable regexes that -when used- keep our
tests passing, but also deal better with UTF-8 data.

To test:
1. Apply the regression tests patch
2. Notice the only change is that it tweaks a couple addresses so they
   contain umlauts and also have the "Description <address>" format that
   is used when sending carts.
3. Run:
   $ kshell
  k$ prove t/Koha/Email.t
=> FAIL: Tests fail! Things die because Email::Valid doesn't like the
   from we passed.
4. Run:
   $ sudo apt install libemail-address-perl
5. Apply this patch
6. Repeat 3
=> SUCCESS: Tests pass!
7. Try what is described in comment 1
=> SUCCESS: Things are back to normal
8. Sign off :-D
9. Send cookies

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Koha/Email.pm