diff --git a/app/models/email_address.rb b/app/models/email_address.rb index b4e390679..28ca9c6b1 100644 --- a/app/models/email_address.rb +++ b/app/models/email_address.rb @@ -20,8 +20,6 @@ class EmailAddress < ActiveRecord::Base include Redmine::SafeAttributes - EMAIL_REGEXP = /\A([^@\s]+)@((?:[-a-z0-9]+\.)+(?:(?:xn--[-a-z0-9]+)|(?:[a-z]{2,})))\z/i - belongs_to :user after_update :destroy_tokens @@ -32,7 +30,7 @@ class EmailAddress < ActiveRecord::Base after_destroy_commit :deliver_security_notification_destroy validates_presence_of :address - validates_format_of :address, :with => EMAIL_REGEXP, :allow_blank => true + validates_format_of :address, :with => URI::MailTo::EMAIL_REGEXP, :allow_blank => true validates_length_of :address, :maximum => User::MAIL_LENGTH_LIMIT, :allow_nil => true validates_uniqueness_of :address, :case_sensitive => false, :if => Proc.new {|email| email.address_changed? && email.address.present?} diff --git a/app/models/setting.rb b/app/models/setting.rb index a7b763503..05daba9d6 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -188,7 +188,7 @@ class Setting < ActiveRecord::Base if settings.key?(:mail_from) begin mail_from = Mail::Address.new(settings[:mail_from]) - raise unless EmailAddress::EMAIL_REGEXP.match?(mail_from.address) + raise unless URI::MailTo::EMAIL_REGEXP.match?(mail_from.address) rescue messages << [:mail_from, l('activerecord.errors.messages.invalid')] end