about summary refs log tree commit diff
path: root/app/models
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-12-10 22:53:25 +0100
committerGitHub <noreply@github.com>2018-12-10 22:53:25 +0100
commitdbb1ee269fa4a6ee097dfea5f77bb2c9428af93b (patch)
treedacb7fda6c7c2a9ef94a85f1508d3cc870ff446d /app/models
parent3f12c07ff5f60d22cfbff050a2639345ecbaec57 (diff)
Improve e-mail MX validator and add tests (#9489)
Diffstat (limited to 'app/models')
-rw-r--r--app/models/user.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index f4130d7b1..44e0d1113 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -73,7 +73,7 @@ class User < ApplicationRecord
 
   validates :locale, inclusion: I18n.available_locales.map(&:to_s), if: :locale?
   validates_with BlacklistedEmailValidator, if: :email_changed?
-  validates_with EmailMxValidator, if: :email_changed?
+  validates_with EmailMxValidator, if: :validate_email_dns?
 
   scope :recent, -> { order(id: :desc) }
   scope :admins, -> { where(admin: true) }
@@ -360,4 +360,8 @@ class User < ApplicationRecord
   def needs_feed_update?
     last_sign_in_at < ACTIVE_DURATION.ago
   end
+
+  def validate_email_dns?
+    email_changed? && !(Rails.env.test? || Rails.env.development?)
+  end
 end