diff --git a/lib/params/base_validator.rb b/lib/params/base_validator.rb index 988cbfcb..cd0005f6 100644 --- a/lib/params/base_validator.rb +++ b/lib/params/base_validator.rb @@ -72,7 +72,7 @@ module Params return if params[key].blank? return if params[key].to_s.include?('<') - if params[key].to_s.strip.split(/\s*[;,]\s*/).compact_blank + if params[key].to_s.strip.split(%r{\s*[;,/]\s*}).compact_blank .all? { |email| EmailTypo::DotCom.call(email).match?(EMAIL_REGEXP) || email.include?('--') } return end diff --git a/lib/submissions.rb b/lib/submissions.rb index cf6ef851..3f52cbf5 100644 --- a/lib/submissions.rb +++ b/lib/submissions.rb @@ -118,15 +118,17 @@ module Submissions return if email.blank? return if email.is_a?(Numeric) - return email.downcase if email.to_s.include?(',') || - email.to_s.match?(/\.(?:gob|om|mm|cm|et|mo|nz|za|ie)\z/) || - email.to_s.exclude?('.') + email = email.to_s.tr('/', ',') + + return email.downcase if email.include?(',') || + email.match?(/\.(?:gob|om|mm|cm|et|mo|nz|za|ie)\z/) || + email.exclude?('.') fixed_email = EmailTypo.call(email.delete_prefix('<')) return fixed_email if fixed_email == email - domain = email.to_s.split('@').last.to_s.downcase + domain = email.split('@').last.to_s.downcase fixed_domain = fixed_email.to_s.split('@').last return email.downcase if domain == fixed_domain